java - <X>在java方法声明中是什么意思?

标签 java generics

我正在查看 EntityManager.java我明白了

public <T extends Object> T find(Class<T> type, Object o, LockModeType lmt, Map<String, Object> map);

我从未见过<X>类方法定义中的类型声明。这是什么意思?

public <T extends Object> T find(似乎它定义了 T 将扩展另一个类。我是否理解这需要您扩展另一个对象?

最佳答案

public <T extends Number> T find()

这意味着您定义了一个 generic函数,为了便于定义,它有一个用 T 表示的类型参数。 T 必须是 Number 的子类(扩展)。该函数返回一个 T 类型的对象。

然后你可以这样调用函数:

Double d = find();
Integer i = find();

但是你下面是编译时错误:

String s = find();  //error

因为 String 没有扩展 Number。

关于java - <X>在java方法声明中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381018/

相关文章:

java - java中基于其他数组对数组进行排序

java - 如何用ajax解析json数组?

java - 阅读文档并使用 Apache POI 重写,但无法使用 Office 打开

java - 更正泛型类型以将对象添加到方法中的列表

.net - 如何尽快删除 SortedDictionary 的第二个元素?

java - 如何在 Eclipse Ganymede 中启动时显示帮助 View 而无需用户输入?

Java 获取简写形式的星期几

java - 在Java中开发泛型修饰符的正确方法

java - 为什么在外部参数化类中创建一个数组,其组件类型是内部类,被视为 "Generic array creation"?

c# - 创建一个封装通用集合的类有什么缺点吗?