[Java] Ruft mehrere Werte von einem Rückgabewert ab

Beim Lesen des Einführungstextes dachte ich: "Ist es nicht praktisch, wenn ich zwei oder mehr Rückgabewerte zurückgeben kann?" Also versuchte ich beim Überprüfen zu schreiben. Eine Notiz, um es nicht zu vergessen. (Es scheint eine Methode namens Beans and List zu geben, aber ich werde studieren ...)

Abschließend,

Ich habe die Methode gewählt, die Werte zusammen in einer Arrayvariablen oder Klassentypvariablen zurückzugeben. Am Ende dachte ich: "Ist es nicht besser, die Anzahl der Methoden zu erhöhen und sie einzeln zurückzugeben?"

--Wenn mehrere Rückgabewerte vom gleichen Typ sind

Angesichts der Zugriffsbeschränkungen denke ich, dass die Methoden tatsächlich eingeschränkter sind.

1. Wenn mehrere Rückgabewerte vom gleichen Typ sind

Die Idee ist, dass Sie mehrere Rückgabewerte, die Sie zurückgeben möchten und die alle vom gleichen Typ sind, in den Basisdatentyp einfügen können. Es ist möglich, den int-Typ in den doppelten Typ zu zwingen, aber Sie möchten es nicht tun, oder? Ich dachte, also denke ich in diesem Fall nicht darüber nach.

1-1. Als Basisdatentyp-Array zurückgeben

Sub.java


public class Sub {
    private int A = 100;
    private int B = 200;

    public int[] getAB(){
        int[] array = new int[2];
        array[0] = A;
        array[1] = B;
        return array;
    }
}

Main.java


public class Main {
    public static void main(String[] args){
        Sub sub = new Sub();
        int[] array = sub.getAB(); //Hier wird das int-Array von der Sub-Klasse zurückgegeben.

        System.out.println(array[0]); //Ausgabe
        System.out.println(array[1]);
    }
}

Ausführungsergebnis.


100
200

2. Wenn mehrere Rückgabewerte untypisch sind

2-1. Als Objekttyp-Array zurückgeben

Der Teil, der oben als "int []" geschrieben wurde, wurde zu "Object []". Die Idee ist, dass sogar atypische Werte zusammen gespeichert werden können, wenn es sich um ein Objekttyp-Array handelt.

Sub.java


public class Sub {
    private int A = 100;
    private double B = 200.0;

    public Object[] getAB() {
        Object[] array = new Object[2];
        array[0] = A;
        array[1] = B;
        return array;
    }
}

Main.java


public class Main {
    public static void main(String[] args) {
        Sub sub = new Sub();
        Object[] array = sub.getAB();

        System.out.println(array[0]);
        System.out.println(array[1]);
    }
}

Ausführungsergebnis.


100
200.0

Ist es die beste Methode, die ich in diesem Artikel geschrieben habe?

2-2. Als Klassentyp ### zurückgeben

Die Idee ist, dass Sie nach der Rückgabe eines Objekts das Feld dieses Objekts mit der Hauptmethode aufrufen können. Dies ist möglich, der Nachteil ist jedoch, dass der Zugriff nicht mithilfe von Zugriffsmodifikatoren eingeschränkt werden kann.

Sub.java


public class Sub {
    int circleAreaInt;
    double circleAreaDouble;

    public Sub calcCircleArea(int r) {
        Sub sub = new Sub();
        sub.circleAreaInt = 3 * r * r ;
        sub.circleAreaDouble = 3.14 * r * r;
        return sub;
    }
}

Main.java


public class Main {
    public static void main(String[] args) {
        Sub sub = new Sub();
        sub = sub.calcCircleArea(2);

        System.out.println(sub.circleAreaInt);
        System.out.println(sub.circleAreaDouble);
    }
}

Ausführungsergebnis.


12
12.56

Wenn Sie den Radius "r" des Kreises als Argument (int) übergeben, die Methode, die die Fläche des Kreises sowohl mit dem Umfangsverhältnis (3) der freien Generation als auch mit dem Umfangsverhältnis (3.14) der unklaren Generation berechnet und zurückgibt. ..... aber ich konnte mir kein gutes Beispiel vorstellen. Sie müssen es nicht so schreiben.

Nachschlagewerk

[Easy Java 7th Edition] (https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81%84Java-%E7%AC%AC7%E7%89%88-%E3%80%8C%E3%82%84%E3%81%95%E3%81%97%E3%81%84%E3%80%8D%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E9%AB%98%E6%A9%8B-%E9%BA%BB%E5%A5%88/dp/4815600848) Pp.251

Recommended Posts

[Java] Ruft mehrere Werte von einem Rückgabewert ab
[Java] Ruft Werte zufällig aus einem Array ab
Versuchen Sie es mit dem Java-Rückgabewert
Beim Einfügen von Java in MySQL erhalten Sie Auto_Increment_ID (automatischer Nummerierungswert) als Rückgabewert
Hinweis Nr. 5 "HashMap-Werte haben mehrere Werte unter Verwendung von Klassen" [Java]
Ruft Attribute und Werte aus einer XML-Datei in Java ab
Land von IP-Adresse abrufen (Java)
Java-Argumente, Rückgabewerte und Überladungen
Holen Sie sich null-sichere Map-Werte in Java
Abrufen von Anruferinformationen aus dem Stack-Trace (Java)
Schlüssel vom Wert in Java Map umkehren
[Java] Tag-Informationen aus Musikdateien abrufen
Java: So senden Sie Werte von Servlet zu Servlet
Abrufen des Verlaufs vom Zabbix-Server in Java
Holen Sie sich "2-4, 7, 9" aus [4, 7, 9, 2, 3]
[Java] Beispiel eines Programms, das die Maximal- und Minimalwerte von einem Array abruft
[Java] Von zwei Listen zu einer Array-Liste
Abrufen des Werts von URL-Parametern mit Get Mapping ~ Local Date ~
So erhalten Sie eine Klasse von Element in Java
Holen Sie sich Unixtime (Sekunden) von ZonedDateTime in Scala / Java
[Android] Holen Sie sich zufällige Schlüssel und Werte von HashMap
[LeJOS] EV3-Sensorwert per Fernzugriff mit Java abrufen
[Java] KFunction von Method / Constructor in Java abrufen [Kotlin]
Versuchen Sie, synchronisierte Methoden aus mehreren Threads in Java aufzurufen
Geben Sie den Maximalwert eines Arrays mithilfe der Java-Standardausgabe aus
[Java] So erhalten Sie den Maximalwert von HashMap
Subtrahieren Sie Enum-Konstanten von Zeichenfolgen und Werten in Java zurück
Deep Learning Java von Grund auf 6.2 Anfangswert des Gewichts