如何返回多个值?

时间:2011-12-19 06:07:49

标签: java

  

可能重复:
  How to return multiple objects from a Java method?

是否可以在Java中将方法中的两个或多个值返回到main?如果是这样,怎么可能,如果不可能,我们怎么做?

4 个答案:

答案 0 :(得分:85)

您可以在Java中返回Class的对象。

如果要返回多个相关的值,那么将它们封装到类中然后返回该类的对象是有意义的。

如果要返回不相关的值,则可以使用Java的内置容器类,如Map,List,Set等。查看java.util包的JavaDoc以获取更多详细信息。

答案 1 :(得分:35)

您可以这样做:

public class Example
{
    public String name;
    public String location;

    public String[] getExample()
    {
        String ar[] = new String[2];
        ar[0]= name;
        ar[1] =  location;
        return ar; //returning two values at once
    }
}

答案 2 :(得分:32)

您只能返回一个值,但它可以是具有多个字段的对象 - 即“值对象”。例如

public class MyResult {
    int returnCode;
    String errorMessage;
    // etc
}

public MyResult someMethod() {
    // impl here
}

答案 3 :(得分:-5)

是的,您可以检索多个值,但您应该在ArrayLists中组合该值。我将向您展示示例,并查看代码:

class mahasiswa{
    public String nama;
    public String nrp;
    public String sks;
    public String namakul; 

    public mahasiswa(String nm, String ps, String sk, String nmkul){
        this.nama = nm;
        this.nrp =ps;
        this.sks = sk;
        this.namakul = nmkul;
    }

    public String getsks(){
        return sks;
    }

    public String getnamakul(){
        return namakul;
    }

    public String getnama(){
        return nama;
    }

    public String getnrp(){
        return nrp;
    }
}

ArrayList<mahasiswa> myObject; 

public myArray() {
    initComponents();
    myObject = new ArrayList<mahasiswa>();

    for(int i =0;i<myObject.size();i++){
        jTextArea1.append("Nama" + " = " + myObject.get(i).getnama() + "\n" + "NRP "  + " = " + myObject.get(i).getnrp() + "\n" + "Nama Matakuliah  = " + myObject.get(i).getnamakul() + "\n" + "SKS = " + myObject.get(i).getsks() + "\n");
    }         
 }