在
Java应用程序中,假设我可以选择以下比较方法
equalsIgnoreCase(String anotherString)
compareToIgnoreCase(String str)
哪一个更快?
解决方法
equalsIgnoreCase可以快得多.例如,考虑两个以相同的10,000个字符开头的字符串 – 但其中一个字符串最后有一个额外的字符. equalsIgnoreCase可以立即返回; compareToIgnoreCase必须迭代到字符串的末尾才能看到差异.
但一般来说,我会选择更好地表达你的意图.这也很适合性能:假设我说equalsIgnoreCase至少和compareToIgnoreCase一样快,这意味着你应该尽可能地使用它 – 如果你需要实际的排序,你必须使用compareToIgnoreCase.