"getValue"어떻게 "setValue"알고 있지만이 경우 "getValue"어떻게합니까?String과 int를 동시에 사용하여 setter 및 getter를 구현하는 방법은 무엇입니까?
public void setInfo(String name, int age) {
setName(name);
setAge(age);
}
getInfo와 string 및 int를 동시에 사용할 수 있습니까?
"getValue"어떻게 "setValue"알고 있지만이 경우 "getValue"어떻게합니까?String과 int를 동시에 사용하여 setter 및 getter를 구현하는 방법은 무엇입니까?
public void setInfo(String name, int age) {
setName(name);
setAge(age);
}
getInfo와 string 및 int를 동시에 사용할 수 있습니까?
여러 가지 방법이 있습니다, 하나는 아래와 같습니다 : 코드 당으로
public Object[] getInfo() {
Object[] info = new Object[2];
info[0] = getName();
info[1] = getAge();
return info;
}
, 이름과 나이 모두는 infoObject의 일부임을 나는, 당신이 (된 getInfo에 전체 개체를 반환 할 수 있습니다) 가정 무엇 당신은 동일한 기능에서 두 값을 반환 할 수 없기 때문에
public InfoObject getInfo() {
return infoObject();
}
전직, 전화. 이 방법을 사용하고 싶지 않다면 각각의 이름과 나이에 대해 두 가지 별도의 메소드를 작성해야합니다. 같은 :
public String getName() {
return this.name;
}
및
public int getAge() {
return this.age;
}
이 방법 당신은 당신의 코드가 깨끗하고 이해할 수 있습니다. 당신이 setName(String name)
및 setAge(int age)
을 가지고 이미 getName()
및 getAge()
같은 방법을 가지고
public Object[] getValue(){
return new Object[]{getName(), getAge()};
}
희망 :
는 다음과 같은 방법을 시도 할 수 있습니다.
컴파일러 유형 검사가 손실됩니다. – Andreas
안녕하세요 @ClaudioLopez 컴파일 시간 형식 확인이 필요합니까? 필요한 경우'name'과'age'를 포함하는 래퍼 객체를 찾아야합니다. –
안녕하세요 @ Andreas는 받아 들인 대답을 한번보세요. –
내가 예를 들어, 그렇게 할 필요가있을 때 나는 보통 java.util.Map을 사용으로 반환 할 수 있습니다 "튜플"
private Map<String, Object> getInfo() {
Map<String, Object> result;
result.put("name", name);
result.put("age", age);
return result;
}
등 신속한와 같은 일부 프로그래밍 언어에서
https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html
그러면 컴파일러 유형 검사가 손실됩니다. – Andreas
있다 동시에 두 값.
그러나 자바 세계에서 더 공식적인 "튜플"없다,하지만 비슷한 할 수 있습니다 : 귀하의 경우
public class Pair<F, S> {
public F first;
public S second;
}
을 :
Pair<String, Integer> mValue;
public void setInfo(String name, int age) {
mValue = new Pair<String, Integer>(name, age);
}
public Pair<String, Integer> getInfo() {
return mValue;
}
브레이크 업 세터를 두 부분으로, 하나는 '이름'이고 다른 하나는 '연령'입니다. –
setter 및 getter는 개별 멤버 – Ramanlfc
'return_type getName() {}'및'return_type getAge() {}'용입니다. 'Ojbect o','o.getName();'과'o.getAge();' –