0


0

Hashtable get関数からの戻り値は参照ですか?
Hashtable>> test =
        new Hashtable>>();
test.put("1", new Hashtable>());
Hashtable> actual = test.get("1");
actual.put("3", new HashSet());
//test.put("1", actual);
HashSet expected = test.get("1").get("3");
if ( expected == null ) {
 System.out.println("DIE");
}

上記のコードに基づいて、DIEが印刷されると思いました。 しかし、明らかに、実際はテスト内のオブジェクトへの参照です。 私は、実際にテストに「戻す」必要があるという印象を受けていました(コメントアウトされた行で示されています)。 actualが参照であるかどうかに関する信頼できるドキュメントはありますか?

1 Answer


2


オブジェクトは常にJavaの参照として渡されます。 JLSの第4章から:

_ 参照型は、クラス型、インターフェイス型、および配列型です。 . 参照値(多くの場合、単なる参照)はこれらへのポインタです オブジェクト _