从一个函数返回多个元素

时间:2019-04-28 09:39:20

标签: 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.
}

基于上述功能,我试图通过如下变量同时返回名称,等级和ID:

String getStudentInfo = this.retrieveStudentInfo();

有人可以帮助我吗?我已将返回数据类型指定为String,但不允许我返回它们。

6 个答案:

答案 0 :(得分:3)

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

public class StudentInfo {
    String name;
    String grade;
    String ID;
}

答案 1 :(得分:2)

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

  1. 声明一个类StudentInfo,其中包含3个类型为String-namegradeID的属性。
  2. retrieveStudentInfo的返回值定义为StudentInfo
  3. retrieveStudentInfo的最后一行中创建它的实例并返回它。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

如果要将此对象作为String返回,可以执行以下操作:return name + “ “ + grade + “ “ + ID;

但是解释这个字符串会很复杂。最好返回完整的Object。

答案 4 :(得分:0)

您可以创建一个名为AnswerObject的对象:

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

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

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

答案 5 :(得分:0)

vavr中的用户Tuple

private static Tuple3<Integer, String, Object> returnThreeElements() {
    return Tuple.of(1, "HelloWorld", new Object());
}
Tuple中获取

get元素可以使用类似于以下代码的方法:

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());
}