== 与 equals 的区别
Posted 一个写代码的测试经理 - 小昊子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了== 与 equals 的区别相关的知识,希望对你有一定的参考价值。
今天跟开发修复一个bug,现在列出来这个绕口的比较
场景一:
Long a = 1;
Long b = 1;
boolean result = (a == b); //此时result的值为false
boolean result2 = (a.equals(b)); //此时result2的值为true
boolean result3 = (a.longValue()== b.longValue()); //此时result3的值为true
场景二:
long c = 2;
long d = 2;
boolean result = (c == d); //此时result的值为true
boolean result2 = (c.equals(d)); //此时的result2的值为true
引申一下String和StringBuilder
String占用栈空间,每次赋值都会开辟一个新的空间;StringBuilder是对象,在堆里面一直占用同一个空间。
以上是关于== 与 equals 的区别的主要内容,如果未能解决你的问题,请参考以下文章