1 回答
TA贡献1877条经验 获得超1个赞
这是一个具体类型的示例,它既有效又开始暗示可能的用例(某种注册)。该类型既像某种类型的实例,又像该类型所有实例的容器。
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();
}
添加回答
举报
