你可以这样理解:==对比的是变量储存的数据地址值,a.equal(b)对比的是a和b两个的内容。- int a=10;
- int b=10;
- 则a==b将是true。
- 因为”10“这个int类型的值在内存中有固定的地址值,a和b都指向了同一个地址值。
- String a=new String( "foo ");
- String b=new String( "foo ");
- 则a==b将返回false。
- 应为a和b中的“foo”是在不同对象中创建的,因而有着不同的地址值,所以==不能判断,只能用equal()来判断。
复制代码
|
|