import java.io.*; import java.awt.*; public class Test { public static void main(String args[]) { Point pt1 = new Point(1, 2); Point pt2, pt3; // 代入 pt2 = pt1; // コピーの生成 pt3 = (Point)pt1.clone(); // 内容の出力 System.out.println("pt2:pt1を代入,pt3:pt1のクローン"); System.out.println(" pt2 " + pt2.getX() + " " + pt2.getY()); System.out.println(" pt3 " + pt3.getX() + " " + pt3.getY()); // 演算子による比較(ポインタの値だけを比較) System.out.print("pt1とpt2の==演算子による比較 "); if (pt1 == pt2) System.out.println("True"); else System.out.println("False"); System.out.print("pt1とpt3の==演算子による比較 "); if (pt1 == pt3) System.out.println("True"); else System.out.println("False"); // equals()による比較(ポインタが指している内容を比較) System.out.print("pt1とpt2のequalsによる比較 "); System.out.println(pt1.equals(pt2)); System.out.print("pt1とpt3のequalsによる比較 "); System.out.println(pt1.equals(pt3)); } }
pt2:pt1を代入,pt3:pt1のクローン pt2 1.0 2.0 pt3 1.0 2.0 pt1とpt2の==演算子による比較 True pt1とpt3の==演算子による比較 False pt1とpt2のequalsによる比較 true pt1とpt3のequalsによる比較 true