比较字符串--”==“和 .equals()方法

字符串比较有两种方法:

1.比较运算符:==

String str1 = new String("hello");

String str2 = new String("hello");

System.out.println(str1 == str2); // 输出: false

new创建的对象是存储在堆内存中,字符串本质是字符数组,字符串名字记录指向堆内存的地址,因此str1 == str2 比较的是两个指向的堆内存地址是否一样。

String str1 = new String("hello");

String str2 = str1;

System.out.println(str1 == str2); // 输出: true

2.java的string类中的方法.equals()

String str1 = new String("hello");

String str2 = new String("hello");

System.out.println(str1.equals(str2)); // 输出: true

.equals()方法比较字符串内容,相比”==“ 根据地址进行比较,该方法是对字符串内容比较,两者差别很大。

但是object类中的equals方法的默认功能是比较两个对象的地址是否相同。

全部评论

相关推荐

06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 12:23
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务