Java String equals()
java String equals()方法根据字符串的内容比较两个给定的字符串。如果任何字符不匹配,则返回false。如果所有字符都匹配,则返回true。
String equals()方法将覆盖Object类的equals()方法。
内部实现
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String) anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i]) return false;
i++;
}
return true;
}
}
return false;
}
签名
public boolean equals(Object anotherObject)
参数
anotherObject : 另一个对象,即与此字符串进行比较。
返回
true ,如果两个字符串的字符相等,否则返回
false 。
重写
java Object类的equals()方法。
Java字符串equals()方法示例
public class EqualsExample{
public static void main(String args[]){
String s1="lidihuo";
String s2="lidihuo";
String s3="lidihuo";
String s4="python";
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
System.out.println(s1.equals(s4));
}
}
Java字符串equals()方法示例2
equals()方法比较两个字符串,可以在if-else控制结构中使用。
public class EqualsExample {
public static void main(String[] args) {
String s1 = "lidihuo";
String s2 = "lidihuo";
String s3 = "LIDIHUO";
System.out.println(s1.equals(s2));
if (s1.equals(s3)) {
System.out.println("both strings are equal");
}
else System.out.println("both strings are unequal");
}
}
true
both strings are unequal
Java字符串equals()方法示例3
让我们再看一个示例,以测试列表中存在的字符串是否相等。
import java.util.ArrayList;
public class EqualsExample3 {
public static void main(String[] args) {
String str1 = "Mukesh";
ArrayList<String> list = new ArrayList<>();
list.add("Ravi");
list.add("Mukesh");
list.add("Ramesh");
list.add("Ajay");
for (String str : list) {
if (str.equals(str1)) {
System.out.println("Mukesh is present");
}
}
}
}