首页 > 常见问答

java java怎么获取一个泛型方法的真实泛型类型?

java怎么获取一个泛型方法的真实泛型类型?

在我看来,从一个方法中获取泛型方法的真正泛型类型是可行的,但是通过一个方法获取泛型方法的真正泛型类型应该是不可能的。

首先,java中的泛型也称为参数化类型。正确地记住,泛型应该是jdk5引入的特性。泛型的目的是使数据类型能够作为参数传入,以便可以动态更改变量的数据类型。

那么什么是通用方法?泛型类型是在方法上声明的。只有在调用方法时才会传入实类型。如果在方法中得到它,可以直接调用泛型对象的getclass方法。但是如果你想通过一个方法得到一个泛型方法的真正类型,我不认为它可以实现。因为不调用方法时,不会输入实数据类型,因此根本无法获取泛型对应的实类型。

所以我将讨论如何在泛型方法中获得泛型的真实类型。

java java怎么获取一个泛型方法的真实泛型类型?

旧规则,让我们编写一个代码来解释。泛型方法的示例如下图所示:

在上图中,我声明了一个泛型方法:findfirst,用于获取数组的第一个元素。

运行结果如下:

以上是我的答案,希望能对您有所帮助

往java泛型类中方法传一个对象引用的参数,但是该方法的参数为什么不能调用该对象的方法?

有可能您在定义泛型时,定义了<t>。这样,您就不知道t是哪一种类型了,它将默认为object

如果您通过了一个测试对象,则该对象中有一个测试方法,您想调用该方法,但该对象中没有测试方法如果该方法正确,则会报错。

在定义泛型时,可以将其定义为<textensionstest>,这样,只要传入test的子类对象,就可以调用test方法。

java深入理解java泛型详解java泛型方法具体实例

原文标题:java java怎么获取一个泛型方法的真实泛型类型?,如若转载,请注明出处:https://www.saibowen.com/wenda/23844.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。