Подтвердить что ты не робот

Как вернуть несколько значений?

Возможный дубликат:
Как вернуть несколько объектов из метода Java?

Можно ли вернуть два или более значений из метода в main в Java? Если да, то как это возможно, а если нет, то как мы можем это сделать?

4b9b3361

Ответ 1

Вы можете вернуть объект класса в Java.

Если вы возвращаете более одного значения, которые связаны друг с другом, тогда имеет смысл инкапсулировать их в класс и затем возвращать объект этого класса.

Если вы хотите вернуть несвязанные значения, вы можете использовать встроенные классы контейнера java, такие как Map, List, Set и т.д. Проверьте java.util пакет JavaDoc для более подробной информации.

Ответ 2

Вы можете сделать что-то вроде этого:

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
    }
}

Ответ 3

Вы можете вернуть только одно значение, но это может быть объект, который имеет несколько полей - то есть "объект значения". Например,

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

public MyResult someMethod() {
    // impl here
}

Ответ 4

Да вы можете получить несколько значений, но вы должны объединить значение в 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");
    }         
 }