当前位置: 代码迷 >> J2SE >> new TreeSet<String>(comparator) 不带有参数?这是什么意思呃。多谢
  详细解决方案

new TreeSet<String>(comparator) 不带有参数?这是什么意思呃。多谢

热度:863   发布时间:2016-04-24 01:59:59.0
new TreeSet<String>(comparator) 不带有参数?这是什么意思呃。谢谢。
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的前面
  相关解决方案