1.==和equals()方法的区别
String类重写了equals()方法,String类的equals方法只要值一样就返回true,==比较的是对象的内存地址是否一样。
(1)使用new这种方式创建对象时,会在堆中新开辟内存空间存放对象;
(2)采用直接变量赋值的方式创建的对象的时候,会从常量池的地方开辟空间存放值;

public class StringDemo5 {
public static void main(String[] args) {
String str1 = "imooc";
String str2 = "imooc";
String str3 = new String("imooc");
// String类重写了equals()方法,内容相同就为true
System.out.println("str1和str2的内容是否一样:"+(str1.equals(str2)));
System.out.println("str1和str3的内容是否一样:"+(str1.equals(str3)));
System.out.println("str1和str2的地址是否一样:"+(str1==str2));
System.out.println("str1和str3的地址是否一样:"+(str1==str3));
}
}
运行结果:
str1和str2的内容是否一样:true
str1和str3的内容是否一样:true
str1和str2的地址是否一样:true
str1和str3的地址是否一样:false
2.附compareTo()方法和concat()方法
compareTo()方法:比较值的大小(注:不要重复造轮子)


……………………………………………………
concat()方法:连接字符串
str1.concat(str2)是把str1和str2的内容连接起来,然后把连接后的值输出,但是连接操作并没有改变str1和str2的值
博客主要介绍了Java中字符串方法的相关知识。阐述了==和equals()方法的区别,==比较对象内存地址,String类的equals方法比较值。还介绍了创建字符串对象时不同方式的内存分配。此外,附带说明了compareTo()方法用于比较值大小,concat()方法用于连接字符串。
1497

被折叠的 条评论
为什么被折叠?



