字符串比较的方法equals与==

如下这段代码输出结果, 创建几个对象以及内存分布

equals()与“==”区别

**字符串比较的方法:

(1)equals()比较两个字符串的内容是否相同

(2)== 比较字符串内存地址是否相等,比较两个字符串是否是同一对象**

如下这几段代码输出结果, 创建几个对象以及内存分布

//创建一个对象
String s1 = "Hello";
String s2 = "Hello";
System.out.println(s1==s2);//s1和s2都指向字符串池中的"Hello"对象,结果为true
System.out.println(s1.equals(s2));
如下代码创建了2个对象
String s1 = "Hello";
String s2 = nwe String("Hello");
System.out.println(s1==s2);//s1指向字符串池内的"Hello",s2指向堆内的"Hello",结果为false
System.out.println(s1.equals(s2));
//如下代码创建了3个对象
String s1 = "Hello";      // s1指向字符串池内的"Hello"
String s2 = nwe String("hello");  //S2s2指向堆内的"hello",但该行创建了两个对象,一个是堆内										的"hello",一个是字符串池内的"hello"
System.out.println(s1==s2);
System.out.println(s1.equals(s2));


//如下代码创建了4个对象
String s1 = new String("Hello");     // //s1指向堆内的"Hello"对象,但该行创建了两个对象,一个是字										符串内池内的"Hello",一个是堆中的"Hello"
String s2 = new String("Hello");  //S2s2指向堆内的"hello",但该行创建了两个对象,一个是字符串池内										的"hello",一个是堆内的"hello"
System.out.println(s1==s2);
System.out.println(s1.equals(s2));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值