黑马程序员:=与equal的区别

来源:互联网 发布:如何查看 mac git ppk 编辑:程序博客网 时间:2024/05/22 09:05

---------------------- android培训、java培训、期待与您交流! ---------------------


最近逛论坛,发现很多人搞不明白=与equal的区别,特地查了一下资料,加上自己的理解整理如下:

=操作符专门用来比较变量的值是否相等;对象内容的比较,则是equals方法做的事。比如:
int a=10;
int b=10;

则a==b将是true。
  
String c=new String("foo");
String d=new String("foo");

则c==d将返回false。

对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。c和d都使用了new操作符,意味着将在内存中产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。所以使用"=="操作符,结果会是false。但由于equal比较的是内弄,所以如果System.out.println(c.equals(d));的话则输出true!

oh yeah!




---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima