如何修复从 Integer 到 T 的未经检查的强制转换?我在这一行收到此警告:
undoStackIndexes.push((T)index);
代码:
SimpleStack<T> undoStackIndexes = new SimpleStack<T>();
SimpleStack<T> undoStackDatas = new SimpleStack<T>();
public void add( int idx, T x ){
Node<T> p = getNode( idx, 0, size( ) );
Node<T> newNode = new Node<T>( x, p.prev, p );
newNode.prev.next = newNode;
p.prev = newNode;
theSize++;
modCount++;
undoStackDatas.push(newNode.data);
Integer index = new Integer(idx);
undoStackIndexes.push((T)index);
}
最佳答案
如果您知道要在 undoStackIndexes
堆栈中存储 Integer
索引,则不应将其设为通用的 T
类型:
SimpleStack<Integer> undoStackIndexes = new SimpleStack<Integer>();
关于java - 类型安全: Unchecked cast from Integer to T,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32927687/