찾다

 >  Q&A  >  본문

java泛型 - java数组泛型转换

有如下java代码:

// 求两个数组的并集,利用set的元素唯一性
    public static <T> T[] union(T[] arr1, T[] arr2) {
        Set<T> set = new HashSet<>();
        Collections.addAll(set, arr1);
        Collections.addAll(set, arr2);
        return set.toArray(new Object[set.size()]);
    }

问:该段代码报错,提示返回的类型应该是Object[],怎么才能返回T[]?

怪我咯怪我咯2803일 전807

모든 응답(1)나는 대답할 것이다

  • 阿神

    阿神2017-04-17 15:08:51

    return set.toArray(arr1);

    toArray()메서드도 일반적이며 반환 유형은 매개변수 유형과 일치합니다. 당신의 배열은 Object 배열이므로 당연히 작동하지 않습니다.

    회신하다
    0
  • 취소회신하다