当用作方法签名时,<t> T是什么意思?它是一种返回类型吗?</t>

时间:2014-09-14 03:14:38

标签: java oop generics generic-programming

abstract public <T> T iterEdges(EdgeFun<T> func, T accum);

这是针对图形的多线程库。我并不是要求任何与实际实施相关的内容,我只是不明白双返回类型是什么意思?

我只是在猜这里,但这是我的解释(我试过谷歌搜索,但谷歌不匹配非字母数字符号,所以我尝试了几个术语的组合,但没有得到任何地方。)

这只是说它将返回某种T型集合?两个类扩展了此方法所在的类,因此我猜它允许多态,但这是什么意思呢?

2 个答案:

答案 0 :(得分:5)

这是generic method。第一个是针对将要使用的泛型类型。该函数还声明返回类型为T.参数显示它们使用该泛型参数类型。

答案 1 :(得分:2)

T是通用类型。它允许在实际代码中使用类时进行泛型类型调用。

您可能还在哈希映射中看到了<K, V>。以下是其他参数的图例

  

E - Element(Java Collections Framework广泛使用)
  K - 键
  N - 编号
  T - 类型
  V - 值
  S,U,V等 - 第2,第3,第4类型

http://docs.oracle.com/javase/tutorial/java/generics/types.html