java确保泛型vararg参数具有相同的类型
我想实现一个方法,对相同类型的对象进行比较
将isOnceOf()
实现为编译时类型strict并在第3行给出编译错误是否可行
目前我只收到一个警告
public static void main(String[] args) {
System.out.println(isOneOf(3, 1, 2, 3)); // true
System.out.println(isOneOf("A", "B", "C", "D")); // false
System.out.println(isOneOf(1, "B", "C", "D")); // false, warn
}
public static <T> boolean isOneOf(T obj, T mate, T... mates) {
if (obj == null) {
return false;
}
if (obj.equals(mate)) {
return true;
}
for (T m : mates) {
if (obj.equals(m)) {
return true;
}
}
return false;
}
# 1 楼答案
谢谢,图纳基。下一步按预期进行