Java字符串String四:==和equals()方法的区别;附compareTo()方法和concat()方法

博客主要介绍了Java中字符串方法的相关知识。阐述了==和equals()方法的区别,==比较对象内存地址,String类的equals方法比较值。还介绍了创建字符串对象时不同方式的内存分配。此外,附带说明了compareTo()方法用于比较值大小,concat()方法用于连接字符串。

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的值

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值