class A {
String foo(String s) {
A.class.getSimpleName().equals("A"); // Noncompliant [[sc=7;ec=42]] {{Use an "instanceof" comparison instead.}}
new A().getClass().getSimpleName().equals("A"); // Noncompliant {{Use an "instanceof" comparison instead.}}
new A().getClass().getName().equals("A"); // Noncompliant {{Use an "instanceof" comparison instead.}}
String name = new A().getClass().getName();
name.equals("A"); //False negative ?
A.class.getSimpleName().substring(0).equals("A"); // Noncompliant {{Use an "instanceof" comparison instead.}}
foo(A.class.getSimpleName()).equals("A");
StackTraceElement element = getElement();
A.class.getSimpleName().equals(element.getClassName()); // Compliant
}
StackTraceElement getElement() {
return null;
}
}