Java Speicherzuweisung auf stack vs heap

Ich fühle mich wie ein Neuling für diese Frage-aber warum ist es so, dass wenn ich den pass der Satz unten in meine Methode und zeigen Sie es auf ein neues HashSet, es kommt immer noch als die EmptySet? Ist es, weil die lokalen Variablen auf dem Stapel reserviert, und so ist meine neue ist wie weggeblasen, wenn ich die Ausfahrt der Methode? Wie könnte ich erreichen das funktionale äquivalent?

import java.util.HashSet;
import java.util.Set;

public class TestMethods {

    public static void main(final String[] args) {

        final Set<Integer> foo = java.util.Collections.emptySet();
        test(foo);

    }

    public static void test(Set<Integer> mySet) {

        mySet = new HashSet<Integer>();

    }

}
InformationsquelleAutor Amir Afghani | 2010-07-20
Schreibe einen Kommentar