String中的“equals()”和“==”
考试考到了,惨痛教训。。。
简单来说,对于基本数据类型的变量,可以直接用==判断内容是否相等;对于类变量,若没有重写过equals()过,equal()和==都是判断其引用地址是否相等。
String test1 = "test"; String test2 = "test"; String test3 = new String(test2); String test4 =new String(test2); blooean result1 = (test1==test2); blooean result2 = (test3==test4);
打印结果是
//true false
在java中,大部分API中的类都重写过了equals()方法,所以功能直接判断其内容是否相等。
String test1 = "test"; String test2 = "test"; String test3 = new String(test2); String test4 =new String(test2); boolean result1 = (test1.equals(test2)); boolean result2 = (test3.equals(test4));
打印结果
//true true
当自己实现类时,才需要注意重写equals()方法。