Example:
// Type of parameter can be weakened to java.util.List
void processList(ArrayList<String> list) {
if (list.isEmpty()) return;
System.out.println("Processing");
for (String s : list) {
System.out.println("String: " + s);
}
}
Enable the Only weaken to an interface checkbox below to only report a problem when the type can be weakened to an interface type.
Enable the Do not suggest weakening variable declared as 'var' checkbox below to prevent reporting on local variables declared using the 'var' keyword (Java 10+)
Stop classes are intended to prevent weakening to classes lower than stop classes, even if it is possible. In some cases, this may improve readability.