gpt4 book ai didi

java - 误解了java中的泛型

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:31 27 4
gpt4 key购买 nike

我正在尝试理解 Java 中的泛型。

private List<Own> l = new ArrayList<Own>();

我有以下错误:

no instance of Typed array variable T exist so that List<Own> conform to T[]

当我在需要 T[] 的方法 (readTypedArray) 中传递它时。

private List<Own> list = new ArrayList<Own>();

private OwnParceable(Parcel in) {
in.readTypedArray(list, CategoriesParceable.CREATOR);
}

最佳答案

方法in.readTypedArray()需要一个数组 T[] , 但你通过了 List<Own这不是数组。

List不是 array你不能在需要数组的地方使用它,List是一个扩展 Collection 的接口(interface)同时array是Java中的数据结构,查看 Difference between List and Array 了解更多详情。

您可以声明 Own[]而不是 List<Own>或者在将其传递给方法之前将此列表转换为数组,检查 Convert list to array in Java :

in.readTypedArray(list.toArray(new Own[list.size()]), CategoriesParceable.CREATOR);

关于java - 误解了java中的泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47444568/

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