Chinaunix首页 | 论坛 | 博客
  • 博客访问: 704358
  • 博文数量: 147
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 10:36
文章分类

全部博文(147)

文章存档

2011年(1)

2010年(1)

2009年(35)

2008年(110)

我的朋友

分类: Java

2008-09-04 19:43:39

1.对于字符串变量来说 ==表示比较的是两个变量的内存是否相等,equals比较的是内容!
  例如:String a="123"
      String c="123"
      String b=new String("123")
那么a==b(false)
    a==c(true)
    a.equals(b)(true)
注意:StringBuffer s1 = new StringBuffer("a");
   StringBuffer s2 = new StringBuffer("a");
s1.equals(s2)(false)
因为StringBuffered类中没有重新定义equals方法,继承的还是Object中的方法(是用来比较地址的)
2.对于非字符串变量来说,==和equals都是比较的是内存地址
例如:Student a=new Student()
     Student b=new Student()
a==b(false)
a.equals(b)(flase)
3.如果是基本数据类型如:int,double,float.....就用==不能用equals
4.对于他们的包装类如Integer......
   ==比较的是内存地址
   equals比较的还是内容!
阅读(569) | 评论(0) | 转发(0) |
0

上一篇:java小知识点

下一篇: java集合总结

给主人留下些什么吧!~~