gpt4 book ai didi

java - 方法返回类型前的 是什么意思?

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

下面的方法返回一个由T组成的List类型元素:

public <T> List<T> getList() {
return new ArrayList<T>();
}

在签名中我们有 <T> List<T> . List<T>这是有道理的,因为那是返回值的类型。前面的<T>需要什么虽然?

如果没有<T>,代码将无法编译。和 List<T> .遗漏了 <T>

Cannot resolve symbol T


我已经阅读了关于 generic methods 的官方 Oracle 教程.它解释说这是语法的一部分:

The syntax for a generic method includes a list of type parameters, inside angle brackets, which appears before the method's return type.

但它并没有真正解释为什么首先需要它或者它对方法有什么确切的影响。

最佳答案

第一个<T>表示第二个 T是通用参数的占位符,而不是您要存储在该列表中的类的实际名称。

没有第一个<T>编译器会处理 T作为类名(如 ObjectString 等)尝试查找名为 T 的类在具有该方法的类存在的同一个包中或在具有该方法的类的导入部分中。如果编译器无法找到名为 T 的类它会显示编译错误。

关于java - 方法返回类型前的 <T> 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60010353/

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