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()方法。

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务