如何解决错误:找不到符号类Set

时间:2016-02-04 17:10:29

标签: java sudoku

import java.io.*;

public class Sudoku
{

    static Set empty = new Set(9);
    static Set fullSet;
    static int [][] board;
    static Set [][] allowedSets;
    ...
}

这只是代码的一部分。

我的问题是: 有时候它会显示我找不到符号类Set,有时它会告诉我它是一个抽象类而且无法实例化。

我想创建一个板[9] x [9]

3 个答案:

答案 0 :(得分:1)

Cyneon, 我相信你的问题是你没有导入正确的Set类。 您正在尝试创建位于java.util.Set中的Collection Set

因此,在类的顶部添加import java.util.Set;并使用Set接口的实现来实例化Set,例如HashSet。 请注意,如果您使用HashSet,您还需要在使用之前导入它,因此请包含import java.util.HashSet

答案 1 :(得分:1)

您无法实例化Set(new Set(9)),因为它是一个接口。但是,您可以实例化其中一个实现,例如HashSet,并将该对象影响到Set类型的变量:

static Set empty = new HashSet(9);

如果您遇到cannot find symbol class错误,则必须是您没有添加相关导入。您可能需要import java.util.Setimport java.util.HashSet

答案 2 :(得分:1)

Set是一个接口,接口无法实例化,您可以实现以下其中一个:HashSet,TreeSet和LinkedHashSet。 例如以这种方式:

Set<String> s = new HashSet<String>();

这是文档。 https://docs.oracle.com/javase/tutorial/collections/interfaces/set.html