ich sicher weiß es nicht, aber ich glaube, dass Java wie jede andere Stack-basierte Laufzeit ausgeführt wird. Das bedeutet, dass das Übergeben von Elementen als Parameter an eine Methode einfach durchgeführt werden kann, indem sie einfach auf den Stapel geschoben werden, bevor die Kontrolle an die Methode übergeben wird. Rückgabewerte werden wahrscheinlich in der VM wie C und C++ behandelt - der Rückgabewert wird immer in einem Register platziert, das von Natur aus einwertig ist.
Es ist jedoch kein großes Problem, denn mit Generics kann die Rückgabe mehrerer Werte typsicher gehandhabt werden, indem eine Instanz von etwa Tuple<type1, type2, type3>
zurückgegeben wird, was in den meisten Fällen keine allzu große Last ist .
Es bietet auch keine Lösungen für eine effiziente Möglichkeit, mehrere Argumente zurückzugeben. Wenn ich möchte, dass eine Methode ein Argument zurückgeben kann, übergebe ich ein zwischengespeichertes Array (Länge 1) des erforderlichen Typs als Argument und lasse es das erste Feld setzen, alternativ könnten Sie ein Objekt-Array und zurückgeben benutze das, aber seine unnötige Objekterzeugung, die du vermeiden willst. –