类型TreeSet不接受参数? 包树集; 导入java.util.*; 公共类树集{ 公共静态void main(字符串[]args){ SortedSet herbSetOrder=新树集(herbSet); println(“第一个herb是:“+herbSetOrder.First()); System.out.println(“最后一个herb是:“+herbSetOrder.Last()); } }

类型TreeSet不接受参数? 包树集; 导入java.util.*; 公共类树集{ 公共静态void main(字符串[]args){ SortedSet herbSetOrder=新树集(herbSet); println(“第一个herb是:“+herbSetOrder.First()); System.out.println(“最后一个herb是:“+herbSetOrder.Last()); } },java,generics,treeset,Java,Generics,Treeset,我想打印集合中的第一个和最后一个元素 但是它给了我一个错误,说“TreeSet不接受参数”您有自己的TreeSet类,所以它被用来代替java.util.TreeSet。重命名您的类就可以了。请显示您的确切错误,因为TreeSet有一个接受集合的构造函数。您需要创建一个新java.util.TreeSet(herbSet)的SortedSet herbSetOrder=new TreeSet(herbSet);'给类起一个与您在其中使用的API类相同的名称通常不是一个好主意。这里的问题是,编译器

我想打印集合中的第一个和最后一个元素
但是它给了我一个错误,说“TreeSet不接受参数”

您有自己的
TreeSet
类,所以它被用来代替
java.util.TreeSet
。重命名您的类就可以了。

请显示您的确切错误,因为
TreeSet
有一个接受
集合的构造函数。您需要创建一个
新java.util.TreeSet(herbSet)
的SortedSet herbSetOrder=new TreeSet(herbSet);'给类起一个与您在其中使用的API类相同的名称通常不是一个好主意。这里的问题是,编译器认为您需要自己的类,位于
new TreeSet
,并抱怨您的类不是泛型类,与
java.util.TreeSet
不同。我将其重命名,但仍有一部分错误,如“找不到符号:Variable herbSet”这是因为您从未在代码中的任何地方定义过
herbSet
,或者如果定义了,您也没有发布该部分。编译器的意思就是它所说的。
package treeset;

import java.util.*;
public class TreeSet {
public static void main(String[] args) {       
SortedSet<String> herbSetOrder = new TreeSet<String>(herbSet); 
System.out.println("First herb is: " + herbSetOrder.first()); 
System.out.println("Last herb is: " + herbSetOrder.last()); 
    }   
}