あなたがpythonで知っているように、関数は複数の値Javaメソッドが複数の値を返すことができない理由は何ですか?
例えば返すことができます。
def myfun():
return 1, 2, 3
をそして、我々はこの方法でそれを呼び出すことができます。
a, b, c= myfun()
しかし、JAVAで、我々 1つ以上の値を返すことができないため、返す値を含む1つのオブジェクトを作成する必要があります。
class MyObject {
private Integer a;
private Integer b;
private Integer c;
public Integer getA() {
return a;
}
public void setA(Integer a) {
this.a = a;
}
public Integer getB() {
return b;
}
public void setB(Integer b) {
this.b = b;
}
public Integer getC() {
return c;
}
public void setC(Integer c) {
this.c = c;
}
}
と私たちの関数は、このオブジェクトを返します
例:
public MyObject myfun(){
MyObject myObject = new MyObject();
myObject.setA(1);
myObject.setB(2);
myObject.setC(3);
return myObject;
}
そして、我々はこの方法でそれを呼び出す:
obj = myfun();
Integer a = obj.getA();
Integer b = obj.getB();
Integer c = obj.getC();
別の解決策は、そのすべての値を含む配列を返すことです
しかしどちらの方法もコーディングには醜いですが、JAVAでは制限がありますので、メソッドが返すことはできません複数の値?
'java'はOOP言語であるため、これらの値がすべて接続されている場合は' class'を作成するのに十分な意味があります。私はそこに '醜い'部分を見ていない。 – SomeJavaGuy
JavaはPythonではありません。はい、制限があります。 – duffymo
Javaは意図的にCのように設計されています.Cではこれが動作します。 –