String类型等值比较,为何==与equals()有何不同?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1770个文字,预计阅读时间需要8分钟。
关于String类型的等值比较和内容比较,是学习Java编程语言时常见的常见问题。理解String类型的等值比较和内容比较也是面试经常问到的问题。
String类型的等值比较和内容比较:
1. 等值比较(使用 `==` 运算符): - 用于比较两个String对象的引用是否相同。 - 如果两个String对象引用的是同一对象,则返回true;否则返回false。
2. 内容比较(使用 `equals()` 方法): - 用于比较两个String对象的内容是否相同。 - 如果两个String对象的内容完全一致,则返回true;否则返回false。
需要注意的是,等值比较和内容比较的结果可能不同。例如:
javaString str1=hello;String str2=hello;String str3=new String(hello);
System.out.println(str1==str2); // trueSystem.out.println(str1==str3); // falseSystem.out.println(str1.equals(str2)); // trueSystem.out.println(str1.equals(str3)); // true
在上述代码中,`str1` 和 `str2` 引用的是同一个String对象,所以等值比较和内容比较都返回true。而 `str1` 和 `str3` 引用的是不同的String对象,尽管它们的内容相同,但等值比较返回false,而内容比较返回true。
本文共计1770个文字,预计阅读时间需要8分钟。
关于String类型的等值比较和内容比较,是学习Java编程语言时常见的常见问题。理解String类型的等值比较和内容比较也是面试经常问到的问题。
String类型的等值比较和内容比较:
1. 等值比较(使用 `==` 运算符): - 用于比较两个String对象的引用是否相同。 - 如果两个String对象引用的是同一对象,则返回true;否则返回false。
2. 内容比较(使用 `equals()` 方法): - 用于比较两个String对象的内容是否相同。 - 如果两个String对象的内容完全一致,则返回true;否则返回false。
需要注意的是,等值比较和内容比较的结果可能不同。例如:
javaString str1=hello;String str2=hello;String str3=new String(hello);
System.out.println(str1==str2); // trueSystem.out.println(str1==str3); // falseSystem.out.println(str1.equals(str2)); // trueSystem.out.println(str1.equals(str3)); // true
在上述代码中,`str1` 和 `str2` 引用的是同一个String对象,所以等值比较和内容比较都返回true。而 `str1` 和 `str3` 引用的是不同的String对象,尽管它们的内容相同,但等值比较返回false,而内容比较返回true。

