解决方案 »

  1.   

    自己找到结果了,因为EnumSet的泛型定义时这样的,
    public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E>
    所以报出了这个错误:
    Type parameter 'T' is not within its bound,should extend 'java.lang.Enum<T>
      

  2.   

     public static <T extends Enum<T>> Set<T> union(Set<T> a, Set<T> b) {
    或者
    Set<T> result = ((EnumSet)a).clone();
      

  3.   


    虽然结了帖子,突然有个问题,
    先不管编译是否错误,这么两个写法有什么区别吗:
    Set<T> result = ((EnumSet<T>)a).clone();

    Set<T> result = ((EnumSet)a).clone();
      

  4.   

    楼主问的,跟下面的这个一样吧。问题不大,就是不指定右边的类型了。
    List<String> l = new ArrayList();
    List<String> ll = new ArrayList<String>();