不使用注释的未经检查或不安全的操作
Unchecked or unsafe operations without using annotation
我从正在阅读的一本书中复制了这段代码...
import java.util.Comparator;
public class DefaultComparator<E> implements Comparator<E> {
public int compare(E a, E b) throws ClassCastException {
return ((Comparable<E>) a).compareTo(b);
}
}
但它会抛出一个编译器警告,指出它使用了未经检查或不安全的操作。那么如何在不使用注释 @SuppressWarnings("unchecked")
?
的情况下删除警告
您需要确保 E 正在扩展 Comparable class:
public class DefaultComparator<E extends Comparable<E>> implements Comparator<E> {
public int compare(E a, E b) {
return a.compareTo(b);
}
}
我从正在阅读的一本书中复制了这段代码...
import java.util.Comparator;
public class DefaultComparator<E> implements Comparator<E> {
public int compare(E a, E b) throws ClassCastException {
return ((Comparable<E>) a).compareTo(b);
}
}
但它会抛出一个编译器警告,指出它使用了未经检查或不安全的操作。那么如何在不使用注释 @SuppressWarnings("unchecked")
?
您需要确保 E 正在扩展 Comparable class:
public class DefaultComparator<E extends Comparable<E>> implements Comparator<E> {
public int compare(E a, E b) {
return a.compareTo(b);
}
}