qui*_*lby 5 java generics static-methods
我看到一个看起来像这样的java函数 -
public static<T> foo() {...}
Run Code Online (Sandbox Code Playgroud)
我知道什么是泛型,但有人可以解释这个背景吗?谁决定T等于什么?这里发生了什么?
编辑:有人可以给我看一个像这样的功能的例子.
Tom*_*ine 11
你错过了返回类型,但除此之外它是一种通用的方法.与泛型类型一样,T代表任何引用类型(如果给定,则在边界内).
对于方法,通用参数通常由编译器推断.在某些情况下,您可能希望使用稍微特殊的语法自己指定泛型参数:
List<String> strings = Collections.<String>emptyList();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,编译器可以推断出类型,但编译器是否可以并不总是很明显.注意,<>是在点之后.出于语法原因,必须始终指定类型名称或目标对象.
有可能有通用的构造函数,但我从来没有见过一个,语法变得更糟.
我相信C++和C#语法将泛型类型放在方法/函数名之后.