public class Test { public static void main(String[] args) { Test ojb1 = new Test(); Test ojb2 = new Test(); System.out.print(ojb1 == ojb2); ojb2 = operate(ojb1, ojb2); System.out.print(" " + (ojb1 == ojb2)); } static Test operate(Test ojb1, Test ojb2) { Test ojb3 = ojb1; ojb1 = ojb2; return ojb3; } } 実行すると「false true」となります。 しかし私は「false false」だと思うのですが、どこが間違っているかが分かりません。 最終的に変数obj2とobj3は、最初に生成されたインスタンスTestを指し示し、 変数obj1は2番めに生成されたインスタンスTestを指すのだと思うのです。 よろしくお願い致します。
↧