在Java中实现Graph,获取原始类型错误

时间:2016-12-06 01:24:57

标签: java data-structures graph

我正在尝试将Graph实现为邻接列表,代码如下。我在第9行遇到了原始类型错误。

编辑:只是想澄清一下,我得到一个未经检查/不安全的操作错误,然后当我用Xlint编译时,我得到原始类型错误。

import java.util.LinkedList;

public class AdjListGraph{
    private int vertices;
    private LinkedList<Integer>[] AdjList;

    public AdjListGraph(int v){
        this.vertices = v;
        AdjList = (LinkedList<Integer>[]) new LinkedList[v];
        for (int i = 0; i < v; i++){
            AdjList[i] = new LinkedList<Integer>();
        }
    }

1 个答案:

答案 0 :(得分:1)

  1. 第9行出现了不安全的类型转换。
  2. 不要混合数组和泛型:LinkedList<Integer>[]是一种难闻的气味。 而这才是真正的问题。您不能拥有泛型类数组。 Java根本不支持它。阅读Q: How to create a generic array in Java?
  3. 中的更多内容