String的== 和equals

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Fire_Sky_Ho/article/details/88766956
Cookie[] cookies = request.getCookies();
        response.setContentType("text/html;charset=utf-8");
        for (Cookie cookie : cookies) {
            String lastname = cookie.getName();
            System.out.println(lastname);
            System.out.println(lastname == "lastname");
            System.out.println("============");
        }

结果:

lastname
false
============

说明比较的地址,不是内容,"lastname"在字符串常量池,String lastname在栈上,其真实内容在堆上。

改成

lastname.equals("lastname")

输出结果

lastname
true
============

说明equals比较的是内容而已,不是地址

总结:以上说明只在String类型有效而已,其他我有碰到再去补充说明

猜你喜欢

转载自blog.csdn.net/Fire_Sky_Ho/article/details/88766956
今日推荐