匹配和equalsIgnoreCase之间的差异或字符串类中的等于

Anu*_*lan 12 java string equals

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

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

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

这就是我所知道的String类中的方法.

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

如果没有差异,那么为什么cant匹配方法会从String类中删除,因为它所提出的功能可以适当地使用上述其他方法来实现.

MBy*_*ByD 21

有一个很大的区别 - 匹配检查a String与正则表达式模式的匹配,而不是相同的字符串.不要因为它收到一个String论据这一事实而误导.

例如:

"hello".equals(".*e.*"); // false
"hello".matches(".*e.*"); // true
Run Code Online (Sandbox Code Playgroud)

  • @Ajj除非你知道正则表达式是什么,否则答案是没有多大意义的. (2认同)

Pet*_*rey 12

关键的区别在于matches匹配正则表达式,而equals匹配特定的String.

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
Run Code Online (Sandbox Code Playgroud)

我建议你看一下正则表达式是什么