好的,这是我的问题:
我有一个包含接口的列表 - List<Interface> a
- 和一个扩展该接口的接口列表: List<SubInterface> b
。我想要设置 a = b
。我不希望使用 addAll()
或任何会消耗更多内存的东西,因为我正在进行非常费力的操作。我确实需要能够说 a = b
。我尝试过 List<? extends Interface> a
,但是这样我就不能将接口添加到列表 a
中,只能添加子接口。有什么建议吗?
我想要做类似这样的事情:
List<SubRecord> records = new ArrayList<SubRecord>();
//add things to records
recordKeeper.myList = records;
类RecordKeeper包含接口列表(不是子接口)。
public class RecordKeeper{
public List<Record> myList;
}
class Record2 extends Record { ... }; recordKeeper.myList = records; recordKeeper.myList.add(new Record2());
你能看出问题出在哪里吗? - aalku