如何同时用String和int实现setters和getters?
How to implement setters and getters with String and int at the same time?
我知道如何 "setValue" "getValue" 但是在这种情况下你如何 "getValue"?
public void setInfo(String name, int age) {
setName(name);
setAge(age);
}
有没有办法同时获取string和int的getInfo?
有多种方法,下面给出一种:
public Object[] getInfo() {
Object[] info = new Object[2];
info[0] = getName();
info[1] = getAge();
return info;
}
根据代码,我假设姓名和年龄都是 InfoObject 的一部分,因此您可以 return getInfo() 调用中的整个对象,
前-
public InfoObject getInfo() {
return infoObject();
}
因为您不能 return 来自同一函数的两个值。如果您不想使用这种方式,那么您必须分别为姓名和年龄编写两个单独的方法。喜欢:
public String getName() {
return this.name;
}
和
public int getAge() {
return this.age;
}
通过这种方式,您可以使代码清晰易懂。
您可以尝试以下方法:
public Object[] getValue(){
return new Object[]{getName(), getAge()};
}
希望,您已经拥有 getName()
和 getAge()
之类的方法,就像您拥有 setName(String name)
和 setAge(int age)
.
我通常在需要时使用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
在某些编程语言中,例如swift,有"tuple"可以return同时具有两个值。
然而在Java世界你没有官方"tuple",但你可以做类似的事情:
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;
}
我知道如何 "setValue" "getValue" 但是在这种情况下你如何 "getValue"?
public void setInfo(String name, int age) {
setName(name);
setAge(age);
}
有没有办法同时获取string和int的getInfo?
有多种方法,下面给出一种:
public Object[] getInfo() {
Object[] info = new Object[2];
info[0] = getName();
info[1] = getAge();
return info;
}
根据代码,我假设姓名和年龄都是 InfoObject 的一部分,因此您可以 return getInfo() 调用中的整个对象, 前-
public InfoObject getInfo() {
return infoObject();
}
因为您不能 return 来自同一函数的两个值。如果您不想使用这种方式,那么您必须分别为姓名和年龄编写两个单独的方法。喜欢:
public String getName() {
return this.name;
}
和
public int getAge() {
return this.age;
}
通过这种方式,您可以使代码清晰易懂。
您可以尝试以下方法:
public Object[] getValue(){
return new Object[]{getName(), getAge()};
}
希望,您已经拥有 getName()
和 getAge()
之类的方法,就像您拥有 setName(String name)
和 setAge(int age)
.
我通常在需要时使用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
在某些编程语言中,例如swift,有"tuple"可以return同时具有两个值。
然而在Java世界你没有官方"tuple",但你可以做类似的事情:
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;
}