【发布时间】:2020-10-29 13:32:33
【问题描述】:
有没有办法将Integer.class 转换为int.class 等其他原始类型?
类似:
jshell> Boolean.class.isPrimitive()
$1 ==> false
jshell> Boolean.class.asPrimitive() == boolean.class
$2 ==> true
【问题讨论】:
-
第一件事
int不是一个类,它是一个原语,java 将使用称为自动装箱和拆箱的概念自动转换它 -
我在问
int.class这是一个Class -
这会让你明白什么是
Integer.class和int.classstackoverflow.com/questions/22470985/integer-class-vs-int-class -
没有。您必须将自己的包装类
Map制作为原始类型。 -
当您说“将 Integer.class 转换为 int.class”时,恐怕您需要更清楚您的意思。你具体想做什么?注意,当你使用反射时,即使一个字段或方法参数是“int.class”类型的,你为该字段获取的值或通过反射传递给参数的值仍然是一个包装器(即Integer.class)跨度>
标签: java primitive-types