对泛型有点混乱

Luc*_*cas 2 java generics

我开始阅读一些关于Java中泛型的文章,有一件事让我困惑:

public static <t> T getFirst(List<T> list)
Run Code Online (Sandbox Code Playgroud)

"此方法将接受对List的引用,并将返回T类型的对象."

很酷,但做<t>什么(小写一个,静态后)?我试过但没能理解它......

Kon*_*kov 6

它应该是:

public static <T> T getFirst(List<T> list)
Run Code Online (Sandbox Code Playgroud)
  • 那么,<T>意思是什么?

    这意味着有一个<T>为此方法的范围调用的类型.并且该方法也将返回该类型的实例T.

  • 如何使用它 ?

    如果你传递一个List<String>方法应该返回String列表中的第一个.

    如果你传递一个List<Integer>方法应该返回Integer列表中的第一个.

  • 支持这些方法有什么意义?

    • 你不必重载不同签名的方法,根据该对象的类型List

    • 例如,您不必担心该方法将返回除列表中对象类型之外的其他类型,这将使​​您免于可能的转换负担.