如何同时用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;
}