匹配:将检查输入的完整字符串是否等于字符串对象中的值。
equalsIgnoreCase :忽略大小写,它会检查输入的字符串是否等于字符串对象中的值。
等于:区分大小写并检查输入的字符串是否等于字符串对象中的值。
这就是我所知道的String类中的方法。
是否存在其他差异(我是否遗漏了任何有价值的差异)?
如果没有差异,那么为什么cant匹配方法会从String类中删除,因为它所提出的功能可以使用上述其他方法来实现。
答案 0 :(得分:21)
有一个很大的区别 - matches检查String
与正则表达式模式的匹配,而不是相同的字符串。不要误以为它收到String
作为参数。
例如:
"hello".equals(".*e.*"); // false
"hello".matches(".*e.*"); // true
答案 1 :(得分:12)
关键区别在于matches
匹配正则表达式,而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
我建议您查看regular expression是什么
答案 2 :(得分:2)
这是我从文档中得到的......
匹配(String regex
):判断此字符串是否与给定的正则表达式匹配
等于(String Object
):将此字符串与指定对象进行比较。当且仅当参数不为null并且是一个表示与此对象相同的字符序列的String对象时,结果才为真。
equalsIgnoreCase (String anotherString
):将此String与另一个字符串进行比较,忽略大小写注意事项。如果两个字符串具有相同的长度并且两个字符串中的相应字符等于忽略大小写,则认为它们是相等的忽略大小写。
答案 3 :(得分:0)
matches
返回true,因此不应从String类中删除它。
答案 4 :(得分:0)
matches()用于验证----给定的字符串是否与指定的regexpression匹配
ex。; String s =“humbapumpa jim”; assertTrue(s.matches(|) “的(吉姆JOE)。”);
equals()用于仅使用指定字符串检查给定字符串作为完全匹配。 equalsIgnoreCase()---将忽略区分大小写。