小编Tom*_*Tom的帖子

通用类型toArray和asList

我试图理解泛型,我故意想要生成classcastexception,但是,我在第一次尝试时得到一个arraystoreexception.

    static <E> E reduce(List<E> list, Function<E> f, E initVal) {

    E[] snapshot = (E[]) list.toArray();

    Object[] o = snapshot;
    o[0] = new Long(1);

    E result =  initVal;
    for (E e : snapshot)
        result = f.apply(result, e);


    return result;
}


private static final Function<Integer> SUM = new Function<Integer>(){
    public Integer apply(Integer i1, Integer i2) {
        return i1 + i2;
    }
};

public static void main(String[] args) {
    List<Integer> intList = Arrays.asList(2, 7);
    System.out.println(reduce(intList, SUM, 0));
}
Run Code Online (Sandbox Code Playgroud)

在第二次尝试..我使用这个正确得到一个ClassCastException ...

public static …
Run Code Online (Sandbox Code Playgroud)

java generics

7
推荐指数
1
解决办法
2026
查看次数

标签 统计

generics ×1

java ×1