当前位置:首页 > TAG信息列表 > java泛型详解java怎么获取一个泛型方法的真实泛型类型?

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

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

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

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

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

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

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

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

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

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

运行结果如下:

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

java中的泛型非常好。这就是为什么我经常讨厌java的原因之一。

让我们先谈谈泛型的主要功能:

1。加强类型安全。例如,如果定义了一个列表,那么只有string可以存储在其中,其他类型(从string派生的类型除外)是不允许的。类型安全应该反映在编译时和运行时。

2.提高性能,减少类型转换和装箱次数。

让我们来谈谈java泛型的奇妙之处:

1。java泛型实现的原理称为类型擦除。无论代码中如何定义泛型,它们在编译后都会成为对象,因此在运行时无法实现类型安全。而且,java编译器不够聪明,很容易被欺骗。例如,调用第三方接口返回list,但实际得到的值可能与string无关。

2.由于类型被删除,类型转换是不可避免的,所以使用泛型和非泛型不会改变性能。

java泛型详解java泛型方法具体实例java泛型方法的定义和使用


江宁号 一起互联

  • 关注微信关注微信

猜你喜欢

微信公众号