类型安全:从 Integer 到 T 的未经检查的转换

Type safety: Unchecked cast from Integer to T

如何修复从 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>();