String和StringBuffer之间如何比较是不是相等
时间: 2023-07-27 22:24:03 浏览: 102
String、StringBuilder、StringBuffer 用法比较
在Java中,String和StringBuffer都是用来表示字符串的类。如果要比较两个String或StringBuffer对象是否相等,可以使用equals()方法进行比较。例如:
```
String str1 = "Hello";
String str2 = "Hello";
StringBuffer sb1 = new StringBuffer(str1);
System.out.println(str1.equals(str2)); // true
System.out.println(str1.equals(sb1)); // false
```
在上述代码中,str1和str2都是String类型的对象,使用equals()方法比较它们的值是相等的。而sb1是一个StringBuffer对象,使用equals()方法比较它和str1的值是不相等的。
需要注意的是,虽然String和StringBuffer都有equals()方法,但是它们的实现是不同的。String的equals()方法比较的是字符串的内容,而StringBuffer的equals()方法比较的是对象的引用。因此,在比较StringBuffer对象时,需要使用toString()方法将其转换为String类型的对象,然后再进行比较。例如:
```
String str1 = "Hello";
StringBuffer sb1 = new StringBuffer(str1);
StringBuffer sb2 = new StringBuffer(str1);
System.out.println(sb1.toString().equals(sb2.toString())); // true
```
阅读全文