- Java code
import java.util.*; public class TreeSetDemo { public static void main(String[] args) { Comparator<String> comparator = new CustomComparator1<String>(); Set<String> set = new TreeSet<String>(comparator); set.add("justin"); set.add("caterpillar"); set.add("momor"); for(String name : set) { System.out.print(name + " "); } System.out.println(); } }
- Java code
import java.util.Comparator;public class CustomComparator1<T> implements Comparator<T>{ public int compare(T o1, T o2) { if (((T) o1).equals(o2)) return 0; return ((Comparable<T>) o1).compareTo((T) o2) * -1; }}
在树上找到的一个程序,运行的时候报错。
TreeSetDemo.java:6: 类型 TreeSet 不带有参数
Set<String> set = new TreeSet<String>(comparator);
这是为什么呢?参数不是可以为一个比较器么?
------解决方案--------------------
你使用的哪个版本的jdk
------解决方案--------------------
在我的环境里面能够通过输出以下:
momor justin caterpillar
------解决方案--------------------
有些类在dos下没法调用
------解决方案--------------------
是不是你classpath没有配置
------解决方案--------------------
系统里有不止一个jdk,一个1.5以前的被放到的PATH的前面