Java 字符串类中匹配项与equalsIgnoreCase或equals之间的差异

Java 字符串类中匹配项与equalsIgnoreCase或equals之间的差异,java,string,equals,Java,String,Equals,匹配:将检查输入的完整字符串是否等于字符串对象中的值 equalsIgnoreCase:忽略大小写,它会检查输入的字符串是否等于string对象中的值 等于:区分大小写,它检查输入的字符串是否等于字符串对象中的值 这就是我所知道的字符串类中的方法 是否存在其他差异(我是否遗漏了任何有价值的差异) 如果没有差异,那么为什么不能从String类中删除matches方法,因为它提供的功能可以使用上述其他方法适当地实现。有一个很大的差异-检查字符串与正则表达式模式的匹配,而不是相同的字符串。不要因为它接

匹配:将检查输入的完整字符串是否等于字符串对象中的值

equalsIgnoreCase:忽略大小写,它会检查输入的字符串是否等于string对象中的值

等于:区分大小写,它检查输入的字符串是否等于字符串对象中的值

这就是我所知道的字符串类中的方法

是否存在其他差异(我是否遗漏了任何有价值的差异)


如果没有差异,那么为什么不能从String类中删除matches方法,因为它提供的功能可以使用上述其他方法适当地实现。

有一个很大的差异-检查字符串与正则表达式模式的匹配,而不是相同的字符串。不要因为它接收到一个
字符串
作为参数而被误导

例如:

"hello".equals(".*e.*"); // false
"hello".matches(".*e.*"); // true

关键区别在于,
匹配
匹配正则表达式,而equals匹配特定字符串

System.out.println("hello".matches(".+"));    // Output: true
System.out.println("hello".equals(".+"));     // Output: false
System.out.println("wtf?".matches("wtf?"));   // Output: false
System.out.println("wtf?".equals("wtf?"));    // Output: true

我建议您看看a是什么

匹配
如果字符串匹配正则表达式,则返回true,因此,不应从string类中删除它。

这是我从文档中得到的

匹配
String regex
):说明此字符串是否匹配给定的正则表达式

等于
字符串对象
):将此字符串与指定对象进行比较。当且仅当参数不为null并且是表示与此对象相同的字符序列的字符串对象时,结果才为true

equalsIgnoreCase
字符串另一个字符串
):将此字符串与另一个字符串进行比较,忽略大小写注意事项。如果两个字符串长度相同,且两个字符串中的对应字符大小写相同,则视为相等忽略大小写。

matches()用于验证----给定字符串是否与指定的正则表达式匹配

例如。;字符串s=“humbapumpa jim”; 资产真实(s.matches(“((jim | joe)”))

等于(),用于仅检查给定字符串与指定字符串是否完全匹配。
equalsIgnoreCase()---将忽略区分大小写的选项。

适用于正则表达式。请检查此选项,但我不会将equals和equalsIgnoreCase@Ajj:)您可能对正则表达式感到困惑。正则表达式提供了一种简洁灵活的方法来“匹配”(指定和识别)文本字符串,例如特定字符、单词或字符模式。“正则表达式”的缩写包括“regex”和“regexp”。简单地说,正则表达式定义了一个匹配某组字符串的模式。你能给我举个例子吗?我无法区分。您在这里使用的是什么。*这是一个通配符。看看这里:@Ajj除非你知道正则表达式是什么,否则答案不会有多大意义。谢谢。将通过通配符扫描,请告诉我有关的情况。+运行时发生了什么?