Java基础-String的比较(==和equal)
2011-05-12 14:07
423 查看
==比较的是两个对象的地址
equal比较的是两个字符串的内容,
String a="aa";
String b="aa";
String c=new String("bb");
String d=new String("bb");
StringBuffer e=new StringBuffer("cc");
StringBuffer f=new StringBuffer("cc");
System.out.println(a==b);
System.out.println(a.equals(b));
System.out.println(c==d);
System.out.println(c.equals(d));
System.out.println(e==f);
System.out.println(e.equals(f));
结果:
true
true
false
true
false
false
因此比较字符串保险的方法是采用equal,而不是等号,特别是你字符串是从别的方法中返回的,不知道如何构建的时候。
equal比较的是两个字符串的内容,
String a="aa";
String b="aa";
String c=new String("bb");
String d=new String("bb");
StringBuffer e=new StringBuffer("cc");
StringBuffer f=new StringBuffer("cc");
System.out.println(a==b);
System.out.println(a.equals(b));
System.out.println(c==d);
System.out.println(c.equals(d));
System.out.println(e==f);
System.out.println(e.equals(f));
结果:
true
true
false
true
false
false
因此比较字符串保险的方法是采用equal,而不是等号,特别是你字符串是从别的方法中返回的,不知道如何构建的时候。
相关文章推荐
- java基础——String的equals()方法和equalsIgnoreCase()方法
- java基础:string与stringBuilder性能比较
- java常见面试题之Integer,String比较相等及equal案例
- java基本对象Integer,String比较相等及equal案例说明
- java语言基础入门——String、StringBuffer、StringBuilder的比较
- Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
- Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
- Java基础知识-String StringBuffer StringBuilder比较
- java基础巩固系列(十):String、StringBuffer、StringBuilder的使用与比较
- java String比较,“==”和“equal”区别
- java中string对象的”equal“方法和“==”运算符 与 c#中的比较
- Java基础(11):字符串—深入理解String对象和比较符==和equals的不同
- java基础知识(三)-- String使用equals和==比较的区别
- 【Java基础】Java常见几组概念的比较(String、StringBuilder、StringBuffer、HashMap、HashTable
- Java基础回顾_String_StringBuffer_StringBuider性能比较
- 【java基础】String中的equal与==的区别
- java基础---String学习笔记一
- java String常用操作以及比较用String与StringBuffer追加字符的执行效率【修订2】
- 关于String类型常亮进行“==” 和equal()比较的不同
- Java toString的性能优化方案比较