Java 从函数返回多个元素

Java 从函数返回多个元素,java,Java,我在Java中有一个函数,但我试图从一个函数中返回3个元素,但到目前为止运气不好 public String retrieveStudentInfo() { String name = "Miley"; String grade = "56" String ID = "1043" return name,grade,ID; //trying to return all the elements in this function. } 基于上述函数,我试图通过如下

我在Java中有一个函数,但我试图从一个函数中返回3个元素,但到目前为止运气不好

public String retrieveStudentInfo() {
    String name = "Miley";
    String grade = "56"
    String ID = "1043"
    return name,grade,ID; //trying to return all the elements in this function.
}
基于上述函数,我试图通过如下变量同时返回name、grade和ID:

String getStudentInfo = this.retrieveStudentInfo();

谁能帮我一下吗。我已将返回数据类型指定为String,但它不允许我返回它们。

您应该将此属性包装到某个类中,然后返回类的对象,如StudentInfo,而不是String

public String[] retrieveStudentInfo() {
    String name = "Miley";
    String grade = "56"
    String ID = "1043"
    String[] data = new String[] {name ,grade ,ID};
    return data;
}
public class StudentInfo {
    String name;
    String grade;
    String ID;
}

它不起作用,因为在java中不能返回元组。 您可以这样做:

声明一个名为StudentInfo的类,该类包含3个String类型的属性-name、grade和ID。 将retrieveStudentInfo的返回值定义为StudentInfo。 在retrieveStudentInfo的最后一行创建它的实例并返回它。
您可以创建一个名为AnswerObject的对象:

将此对象定义为具有字符串的3个公共属性:

public class AnswerObject {
public String Name;
public String Grade;
public String ID;
}

从方法中返回此对象,您将得到一个包含3个元素的答案。

如果您想将此对象作为字符串返回,可以执行以下操作:返回名称+“”+等级+“”+ID

然而,解释这个字符串会很复杂。因此最好返回完整的对象。

用户元组


一个方法一次只能返回一个项。但该项可以是一个对象。这不是一个好主意,因为在现实世界中,grade将是一个int,然后您就不能使用字符串数组。您要么必须泛化到对象[]我理解并完全同意你所说的。但是,我的意图是对一个基本问题给出一个基本的答案。
private static Tuple3<Integer, String, Object> returnThreeElements() {
    return Tuple.of(1, "HelloWorld", new Object());
}
public static void main(String[] args) {
    Tuple3<Integer, String, Object> result = returnThreeElements();
    System.out.println(result._1());
    System.out.println(result._2());
    System.out.println(result._3());
}