Java 如何在自动装箱之前获取原始类型?
Java自动框省略对象参数。在自动装箱之前,如何判断参数是否为原始参数Java 如何在自动装箱之前获取原始类型?,java,Java,Java自动框省略对象参数。在自动装箱之前,如何判断参数是否为原始参数 static void foo(Object...args) { System.out.println(args[0].getClass()); } foo(1); foo(new Integer(1)); 输出: class java.lang.Integer class java.lang.Integer 不,您无法检测参数是否已从基元类型装箱,因为您已将对象作为方法的参数,这意味着自动装箱已在方法之前发生
static void foo(Object...args)
{
System.out.println(args[0].getClass());
}
foo(1);
foo(new Integer(1));
输出:
class java.lang.Integer
class java.lang.Integer
不,您无法检测参数是否已从基元类型装箱,因为您已将对象作为方法的参数,这意味着自动装箱已在方法之前发生
此外,您无法对基元类型执行“.getClass”。否您无法检测是否已从基元类型装箱参数,因为您已将对象作为参数获取给该方法,这意味着自动装箱已在该方法之前发生
此外,您不能对基元类型执行“.getClass”。因为自动装箱发生在方法执行之前,所以您在方法内部找不到。简短回答:您不能。答案很长:你不知道。我不知道像int这样的基本类型是否有方法
getClass
。@Aero在包装类中可以看到基本类型的Class
对象,在这里。但正如前面提到的,这里的实际参数是Integer
,而不是int
。这是我所期望的。我只是想确定这是不可能的。因为自动装箱发生在方法执行之前,所以你在方法内部找不到它。简短的回答:你不能。答案很长:你不知道。我不知道像int这样的基本类型是否有方法getClass
。@Aero在包装类中可以看到基本类型的Class
对象,在这里。但正如前面提到的,这里的实际参数是Integer
,而不是int
。这是我所期望的。我只是想确定这是不可能的。