首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中的模板cals集

java中的模板cals集
EN

Stack Overflow用户
提问于 2012-06-19 19:52:53
回答 3查看 72关注 0票数 0

我正在尝试创建一个包含‘Vertex3 3’实例的集合。我对创建这个集合的行有一点小问题:

代码语言:javascript
复制
public Set<Vertex3<Integer>> verticies = new Set<Vertex3<Integer>>();

Eclipse是在等号的'Set‘部分右边用红色下划线,错误消息是“无法实例化类型Set”。

“Vertex3”的定义如下:

代码语言:javascript
复制
public class Vertex3 <T> {
    public T x;
    public T y;
    public T z;

    public Vertex3() {
        // do nothing
    }

    public Vertex3(T x, T y, T z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }

    public Vertex3(T x, T y) {
        this.x = x;
        this.y = y;
    }
}

如能提供任何帮助,我们将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-19 19:54:45

Set是一个接口,所以不能实例化它。您必须实例化一个具体类型,如HashSet (或TreeSet,或LinkedHashSet):

代码语言:javascript
复制
public Set<Vertex3<Integer>> verticies = new HashSet<Vertex3<Integer>>();

HashSet和LinkedHashSet存储唯一的值..。HashSet的性能优于LinkedHashSet,您可能希望使用HashSet。

票数 1
EN

Stack Overflow用户

发布于 2012-06-19 19:54:43

Set是一个接口,正如javadoc建议的那样:http://docs.oracle.com/javase/6/docs/api/java/util/Set.html,因此不能实例化它。

您应该查看All Known Implementing Classes并选择最适合您的实现,并使用new实例化它。

票数 0
EN

Stack Overflow用户

发布于 2012-06-19 19:55:05

Set是一个接口。您不能实例化它。用HashSet或TreeSet替换正确的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11108365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档