2

多年来,我想知道为什么containsIgnoreCase类中没有方法String。我们有equalsequalsIgnoreCase,但只有contains和 没有containsIgnoreCase。这有什么原因吗?

4

2 回答 2

4

确切的原因是什么,真的很难说。也许人们觉得它equals会被更频繁地使用contains,因此实现一个equalsIgnoreCase方法会被证明是最有用的,但实现它并不是那么有用containsIgnoreCase。无论如何,很难确定。话虽如此,您确实可以根据原始方法轻松实现自己的contains方法,沿着这些思路可以工作:

String s1 = "HeLlO WoRlD";
String s2 = "llo worl";
System.out.println(s1.toLowerCase().contains(s2.toLowerCase()));  // true
于 2012-10-11T22:54:33.160 回答
1

String 类中有几个方法,它们是IgnoreCase的潜在候选方法,例如indexOf、lastIndexOf、startsWith、EndWith等。

但我认为,toUpperCasetoLowerCase有一天会使 IgnoreCase 方法过时,这可能是原因。

于 2012-10-11T23:10:16.930 回答