在Java中,列出了不同的类?

时间:2011-03-22 01:10:14

标签: java list

我有抽象类主题,然后是主题1,主题2等类,它们扩展了主题。

如果主题== 1则不写,否则如果主题== 2则等等

我想使用某种列表,在输入索引时,会给我一个主题

感谢

3 个答案:

答案 0 :(得分:2)

您想要按需创建新对象,还是从现有对象中选择?

如果是最后一个,请使用List<Subject>之类的Joshc1107。

如果是第一个,你实际上想要一个工厂:

public interface SubjectFactory {
    public Subject create(int type);
}

......或者这些工厂的清单(那时你不需要这种类型):

interface SubjectFactory {
    public Subject create();
}

List<SubjectFactory> factories = Arrays.asList(
      null, // we don't have type 0
      new SubjectFactory() { public Subject create() {
           return new Subject1();
      }},
      new SubjectFactory() { public Subject create() {
           return new Subject2();
      }},
      new SubjectFactory() { public Subject create() {
           return new Subject3();
      }},
      new SubjectFactory() { public Subject create() {
           return new Subject4();
      }});

public Subject create(int type) {
    return factories.get(type).create();
}

答案 1 :(得分:0)

称为地图,表,哈希表,字典,关联数组。

答案 2 :(得分:0)

您可以使用定义为hereArrayList<Subject>。这是我个人经常访问的内容,它允许您使用get(int index)命令按索引获取项目。