简单的理解 equals和==的区别
直接上代码:
//== 比较的是地址 String test = new String("测试"); String test1 = new String("测试"); System.out.println(test==test1); String a = new String("Test"); System.out.println(""); //equals 比较的是 两个对象的内容 String demo = new String("Hello"); String demo1 = new String("Hello"); System.out.println(demo.equals(demo1)); //引用类型 test = a; test1 = a; System.out.println(test==test1);
结果:
第一次:用==比较test和test1 答案是 false 那是因为 它们之间的内容是属于不同的空间,(地址不同)
第二次:用equals比较demo和demo1 答案是 true 因为 equals 比较的是两个对象的相同的内容并没有去比较地址 (有时候也会去比较地址)
第三次:将test和test1对象的值都指向了a(同一个地址),用==去比较,运行结果为true。