【发布时间】:2015-12-13 20:10:34
【问题描述】:
短:
这可能有一个不是Object 的子类的类吗?
长:
我正在使用包含接口实现的List<T> (Operation):
public class OperationQueue<T extends Operation> {
private final List<T> mQueue = new ArrayList<>();
...
}
当我在循环中遍历这个列表时,我将每个完成的操作标记为空,因为我必须保持相同的大小并且我不能使用迭代器(它会抛出 ConcurrentModificationException):
for (int i = 0; i < mQueue.size() && !mState.equals(State.PAUSED); i++) {
mOperation = mQueue.get(i);
if (mOperation != null) {
mOperation.run();
}
mQueue.set(i, null);
}
当我暂停或完成我使用的队列执行时:
mQueue.removeAll(Collections.singleton(null));
Android Studio 向我显示警告:
'List<T>' may not contain type objects of type 'Object'
这怎么可能?我以为一切都是Object的孩子?
任何帮助将不胜感激。
【问题讨论】:
标签: java android collections