2016 - 2024

感恩一路有你

java 泛型 java怎么获取list泛型里的对象类型?

浏览量:1978 时间:2021-03-13 16:53:33 作者:admin

java怎么获取list泛型里的对象类型?

/***获取字段类型。如果是复合对象,则获取泛型类型**@param field*@return*/private static class getfieldclass(field field){class fieldclazz}=字段.getType()如果(fieldClazz.isAssignableFrom文件( List.class类)){类型fc=field.getGenericType类型()//关键是获取泛型类型if(参数化类型的FC实例)//如果是泛型参数类型{参数化类型Pt=(参数化类型)FC fieldclazz=(类)pt.getActualTypeArguments参数()[0]//获取泛型中的类类型对象。}这几天我们刚刚写了相关的代码供参考

Java中的泛型太棒了。这就是为什么我经常讨厌Java的原因之一。

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

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

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

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

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

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

java 泛型 泛型list和普通list list泛型转换

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。