我有一个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,但不允许我返回它们。
答案 0 :(得分:3)
您应该将此属性包装在某个类中,然后返回诸如StudentInfo之类的对象而不是String
public class StudentInfo {
String name;
String grade;
String ID;
}
答案 1 :(得分:2)
它不起作用,因为您不能在Java中返回元组。 您可以这样:
StudentInfo
,其中包含3个类型为String
-name
,grade
和ID
的属性。retrieveStudentInfo
的返回值定义为StudentInfo
。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());
}