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

标签 java

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

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/

相关文章:

java - 我正在以输入的相反顺序显示 java 数组的内容,但只显示了一半的数组

java - GWT 入门

java - Spring 休息 WS : How to handle multiple XML payloads in single endpoint?

java - 自定义 Jackson 序列化器无法与 gson 一起使用

java - 如何在 java 中向 ArrayList<String> 添加项目列表?

java - 使用 log4j 记录 jsf 异常

java - Android截击奇怪的错误

java - 以某种格式将数据插入到 JSON 对象中

java - BufferedReader 就绪方法

java - 使用 HtmlUnit WebClient.getPage 时出现多个错误