使用toLowerCase()或toUpperCase()来进行大小写不敏感的比较是低效的,因为它会创建临时的,内部的String对象。
如下代码:
boolean result1 = foo.toUpperCase().equals(bar); // Non-Compliant boolean result2 = foo.equals(bar.toUpperCase()); // Non-Compliant boolean result3 = foo.toLowerCase().equals(bar.LowerCase()); // Non-Compliant
应该重构为:
boolean result = foo.equalsIgnoreCase(bar); // Compliant