首页 新闻 搜索 专区 学院

java如何反射获取包装类的TYPE

0
悬赏园豆:50 [待解决问题]

已知字符串“java.lang.Float”
如何获取java.lang.Float.TYPE
注意是字符串,通过反射得到Float类后获取TYPE
Class.forName("java.lang.Float")这个可以得到Float
但无法获取Float的TYPE
之所以要这么搞,是因为我需要通过字符串来获取float.class,int.class,boolean.class这些无法直接反射得到的基本类型

问题补充:

补充,现在希望传入字符串类型参数,“java.lang.Float”,“java.lang.Double”等,得到其基础类,不想用枚举,如果用枚举的话直接三目运算即可。。。

jokersora的主页 jokersora | 初学一级 | 园豆:151
提问于:2019-11-15 16:02
< >
分享
所有回答(2)
0

public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException {
Class clazz= Class.forName("java.lang.Float");
Field field =clazz.getField("TYPE");
Class<Float> TYPE_VALUE= (Class<Float>) field.get(clazz);
System.out.println(TYPE_VALUE);
}

timfruit | 园豆:202 (菜鸟二级) | 2020-01-02 14:06

目前遇到的主要问题是,如何传递参数的方式来获取对应的基本类型,比如“java.lang.Float”,“java.lang.Double”,返回 float.class,double.class 的,此处不想用枚举,如果用枚举的话直接三目运算就可以了。。。

支持(0) 反对(0) jokersora | 园豆:151 (初学一级) | 2020-01-03 09:45

@jokersora:
为什么需要获得基本类型? Float等包装类型可以自动转换成基本类型的 0.0

支持(0) 反对(0) timfruit | 园豆:202 (菜鸟二级) | 2020-01-04 12:15
0

直接点.... 存个map 键是包装类型, 值是基本类型就得了

风中的雪糕 | 园豆:418 (菜鸟二级) | 2020-01-19 22:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册