1 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
這是一個(gè)具體類(lèi)型的示例,它既有效又開(kāi)始暗示可能的用例(某種注冊(cè))。該類(lèi)型既像某種類(lèi)型的實(shí)例,又像該類(lèi)型所有實(shí)例的容器。
public class WeirdEnum extends AbstractList<WeirdEnum> {
private static List<WeirdEnum> underlyingList = new ArrayList<>();
@Override
public WeirdEnum get(int index) { return underlyingList.get(index); }
@Override
public int size() { return underlyingList.size(); }
static <T extends List<T>> List<T> getAList() {
return Collections.emptyList();
}
public WeirdEnum() {
underlyingList.add(this); // Sufficient for our example but not a good idea due to concurrency concerns.
}
static List<WeirdEnum> foo = WeirdEnum.getAList();
}
添加回答
舉報(bào)