Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将Integer.class(和其他已装箱的)转换为int.class(和其他原语)?_Java_Primitive Types - Fatal编程技术网

Java 如何将Integer.class(和其他已装箱的)转换为int.class(和其他原语)?

Java 如何将Integer.class(和其他已装箱的)转换为int.class(和其他原语)?,java,primitive-types,Java,Primitive Types,有没有办法将Integer.class转换为int.class,依此类推,或者转换为其他基本类型 比如: jshell> Boolean.class.isPrimitive() $1 ==> false jshell> Boolean.class.asPrimitive() == boolean.class $2 ==> true 它没有Java SE方法,但很容易保存映射: private static final Map<Class<?>, Cla

有没有办法将
Integer.class
转换为
int.class
,依此类推,或者转换为其他基本类型

比如:

jshell> Boolean.class.isPrimitive()
$1 ==> false
jshell> Boolean.class.asPrimitive() == boolean.class
$2 ==> true

它没有Java SE方法,但很容易保存映射:

private static final Map<Class<?>, Class<?>> wrapperToPrimitive = Map.of(
    Void.class, void.class,
    Boolean.class, boolean.class,
    Byte.class, byte.class,
    Character.class, char.class,
    Short.class, short.class,
    Integer.class, int.class,
    Long.class, long.class,
    Float.class, float.class,
    Double.class, double.class);
private static final Map>wrapperToPrimitive=Map.of(
Void.class,Void.class,
Boolean.class,Boolean.class,
Byte.class,Byte.class,
Character.class,char.class,
短,短,短,
Integer.class,int.class,
长课,长课,
Float.class,Float.class,
二等舱,二等舱);

没有Java SE方法,但很容易保存地图:

private static final Map<Class<?>, Class<?>> wrapperToPrimitive = Map.of(
    Void.class, void.class,
    Boolean.class, boolean.class,
    Byte.class, byte.class,
    Character.class, char.class,
    Short.class, short.class,
    Integer.class, int.class,
    Long.class, long.class,
    Float.class, float.class,
    Double.class, double.class);
private static final Map>wrapperToPrimitive=Map.of(
Void.class,Void.class,
Boolean.class,Boolean.class,
Byte.class,Byte.class,
Character.class,char.class,
短,短,短,
Integer.class,int.class,
长课,长课,
Float.class,Float.class,
二等舱,二等舱);

可以从以下位置使用
ClassUtils
执行此操作:


可以从以下位置使用
ClassUtils
执行此操作:


首先,
int
不是一个类,它是一个基本类,java将使用名为自动装箱和取消装箱的概念自动转换它。我想问的是
int.class
这是一个
class
这将帮助你理解什么是
Integer.class
int.class
不。你必须自己做一个
Map
将包装类映射到基本类型。恐怕您需要更清楚地了解您所说的“convert Integer.class to int.class”是什么意思。你具体想做什么?请注意,当您使用反射时,即使字段或方法参数的类型为“int.class”,您为字段获取的值或通过反射传递给参数的值仍然是一个包装器(即Integer.class)首先,
int
不是一个类,它是一个基本类,java将使用名为自动装箱和取消装箱的概念自动转换它。我想问的是
int.class
这是一个
class
这将帮助你理解什么是
Integer.class
int.class
不。你必须自己做一个
Map
将包装类映射到基本类型。恐怕您需要更清楚地了解您所说的“convert Integer.class to int.class”是什么意思。你具体想做什么?请注意,当您使用反射时,即使字段或方法参数的类型为“int.class”,您为字段获取的值或通过反射传递给参数的值仍然是一个包装器(即Integer.class)