JDK 11 泛型使用 Set.of 时出现的问题
在使用 JDK 11 时,我无法理解以下类型安全问题。任何人都可以解释当我直接传递参数时没有收到编译错误的原因:Set.of
public static void main(String[] args) {
var intSet1 = Set.of(123, 1234, 101);
var strValue = "123";
isValid(strValue, intSet1);// Compilation error (Expected behaviour)
**isValid(strValue, Set.of(123, 1234, 101));// No Compilation error**
}
static <T> boolean isValid(T value, Set<T> range) {
return range.contains(value);
}
您可以在 IdeOne.com 实时运行此代码。