示例:
// 参数类型可以削弱为 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); } }
启用下面的使用右侧类型复选框,以防止在右侧并非类型转换或新表达式时削弱赋值的左侧。 在变量中存储方法调用结果时,保留方法调用结果的类型非但不会不必要地削弱它,反而会很有用。
启用下面的使用参数化类型复选框,在求值的对象用作参数类型为 java.lang.Object
的集合方法的参数时,将集合的参数化类型用作最弱的类型。
在将对象传递给以下集合方法时,使用此选项可以防止削弱为 Object
:
get()
、remove()
、contains()
、indexOf()
、lastIndexOf()
、containsKey()
和 containsValue()
。
启用下面的不削弱为 Object复选框,可以指定是否应将类型削弱为 java.lang.Object
。
削弱为 java.lang.Object
很少会很有用。
启用下面的仅削弱为接口复选框,仅在该类型可以削弱为接口类型时才报告问题。
启用下面的不削弱返回类型复选框,以防止在返回类型可能被削弱时报告问题。 只分析变量。
启用下面的不建议削弱声明为 'var' 的变量复选框,以防止报告使用 'var' 关键字声明的局部变量 (Java 10+)
停止类意在防止类削弱至低于停止类的程度,即便可能出现这种情况,也能予以防止。 在某些情况下,这可能会提高可读性。