💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java `String.equals()`方法 – 字符串比较 > 原文: [https://howtodoinjava.com/java/string/string-equals-method/](https://howtodoinjava.com/java/string/string-equals-method/) [Java 字符串](https://howtodoinjava.com/java-string/)`equals()`方法用于将字符串与方法参数对象进行比较。 ## 1\. Java `String.equals()`方法 ```java /** * @param anObject - The object to compare * @return true - if the non-null argument object represents the same sequence of characters to this string * false - in all other cases */ 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; } ``` 1. **字符串**类将覆盖`Object`类中的`equals()`方法。 相等性以**区分大小写**的方式完成。 2. 使用`equals()`方法检查字符串内容的相等性。 3. 不要使用`'=='`运算符。 它检查对象引用,这在大多数情况下是不希望的。 4. 允许将`null`传递给方法。 它将返回`false`。 5. 使用`equalsIgnoreCase()`方法以不区分大小写的方式检查相等的字符串。 ## 2\. Java `String.equals()`方法示例 检查两个字符串是否相等的 Java 程序(区分大小写)。 ```java public class Main { public static void main(String[] args) { String blogName = "howtodoinjava.com"; String authorName = "Lokesh gupta"; //1 - check two strings for same character sequence boolean isEqualString = blogName.equals(authorName); //false //2 isEqualString = blogName.equals("howtodoinjava.com"); //true //3 isEqualString = blogName.equals(null); //false //4 - case-sensitive isEqualString = blogName.equals("HOWTODOINJAVA.COM"); //false } } ``` ## 3\. Java `String.equalsIgnoreCase()`示例 检查两个字符串是否相等的 Java 程序(不区分大小写)。 请注意,`equals()`和`equalsIgnoreCase()`方法的行为方式相同,只是后者*不区分大小写*。 ```java public static void main(String[] args) { String blogName = "howtodoinjava.com"; String authorName = "Lokesh gupta"; //1 - check two strings for same character sequence boolean isEqualString = blogName.equalsIgnoreCase(authorName); //false //2 isEqualString = blogName.equalsIgnoreCase("howtodoinjava.com"); //true //3 isEqualString = blogName.equalsIgnoreCase(null); //false //4 - case-insensitive isEqualString = blogName.equalsIgnoreCase("HOWTODOINJAVA.COM"); //TRUE } } ``` ## 4\. Java 中`==`和`equals`之间的区别 如前所述,`==`运算符检查相同的对象引用。 它不检查字符串内容。 而`equals()`方法检查字符串内容。 ```java public class Main { public static void main(String[] args) { String blogName1 = new String("howtodoinjava.com"); String blogName2 = new String("howtodoinjava.com"); boolean isEqual1 = blogName1.equals(blogName2); //true boolean isEqual2 = blogName1 == blogName2; //false } } ``` 学习愉快! 参考: [Java `String`文档](https://docs.oracle.com/javase/9/docs/api/java/lang/String.html)