gpt4 book ai didi

java - 不确定如何在 Java 中编写方法,就像在 c 中编写模板一样

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

我想实现一个带有签名的函数

static boolean checkAnyOutOfBoundary(int[] index,ArrayList<ArrayList<T>> list)

我想用其他自己创建的类(DocScore)替换T。我尝试用 Object 代替 T。但是当我尝试实例化列表实例时,例如

ArrayList<ArrayList<Object>> DocScoreList = new ArrayList<ArrayList<Object>>();
for (int i = 0; i < index.length; i++)
DocScoreList.add(root.children.get(i).docList);

The type of root.children.get(i).docList is ArrayList<DocScore>

我无法将元素添加到 DocScoreList 中。有谁知道我该如何实现这个?

最佳答案

所以您要添加 ArrayList<DocScore>ArrayList<ArrayList<Object>>但 add 方法需要 ArrayList<Object> .

您能提供ArrayList<DocStore>吗?哪里ArrayList<Object>是必须的?不,因为A bag of banana is not a bag of fruit

所以DocScoreList必须是ArrayList ArrayList<DocStore> 的某事可以添加。一些例子是:

  • ArrayList<DocStore>实际类型
  • List<DocStore>因为ArrayList<T> List<T>
  • ArrayList<? extends Object> (直接或间接)扩展 Object某种未知类型的列表。自 DocStore符合标准? extends Object这会起作用。
  • List<? extends Object>
  • 等等。你明白了。

关于java - 不确定如何在 Java 中编写方法,就像在 c 中编写模板一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14902087/

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