有没有办法通过泛型指定扩展类?

时间:2014-10-11 23:54:01

标签: java generics

我正在尝试构建一个名为ListNamed的容器类型,它本质上是一个列表,但允许按名称进行元素查找,其中多个元素可以具有相同的名称,在这种情况下,查找将返回第一个元素找到了匹配的名称(这就是为什么我不能使用HashMap - >顺序很重要,而且键不是唯一的。)

我的初始版本,有效:

public class ListNamed<T extends Named> extends ArrayList<T>{

    public T get(String name){
        for (T x: this){
            if (x.getName().equals(name)){
                return x;
            }
        }
        return null;
    }
}

但是,有些情况下我想指定一个不同的List实现 - 而不是ArrayList,有些情况下我想使用LinkedList。

那么,有没有办法通过泛型指定扩展实现,还是我必须创建单独的类(ArrayListNamed,LinkedListNamed)?

0 个答案:

没有答案