gpt4 book ai didi

java - 将泛型列表转换为子类型(不安全逆变)

转载 作者:行者123 更新时间:2023-12-01 12:48:39 25 4
gpt4 key购买 nike

假设我有一个List<Base>我知道仅包含 Derived 类型的元素,我怎样才能强制强制转换为 List<Derived>

最佳答案

我的解决方案:

  public static <T> List<T>
cast(List<? super T> list, Class<T> clazz) {

if( list.stream().allMatch( clazz::isInstance ) )
return (List<T>) list;
else
throw new IllegalArgumentException ("Not all inputs are of class " + clazz.getName());
}

关于java - 将泛型列表转换为子类型(不安全逆变),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com