Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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 如何在自动装箱之前获取原始类型?_Java - Fatal编程技术网

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 不,您无法检测参数是否已从基元类型装箱,因为您已将对象作为方法的参数,这意味着自动装箱已在方法之前发生

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

不,您无法检测参数是否已从基元类型装箱,因为您已将对象作为方法的参数,这意味着自动装箱已在方法之前发生


此外,您无法对基元类型执行“.getClass”。

否您无法检测是否已从基元类型装箱参数,因为您已将对象作为参数获取给该方法,这意味着自动装箱已在该方法之前发生


此外,您不能对基元类型执行“.getClass”。

因为自动装箱发生在方法执行之前,所以您在方法内部找不到。简短回答:您不能。答案很长:你不知道。我不知道像int这样的基本类型是否有方法
getClass
。@Aero在包装类中可以看到基本类型的
Class
对象,在这里。但正如前面提到的,这里的实际参数是
Integer
,而不是
int
。这是我所期望的。我只是想确定这是不可能的。因为自动装箱发生在方法执行之前,所以你在方法内部找不到它。简短的回答:你不能。答案很长:你不知道。我不知道像int这样的基本类型是否有方法
getClass
。@Aero在包装类中可以看到基本类型的
Class
对象,在这里。但正如前面提到的,这里的实际参数是
Integer
,而不是
int
。这是我所期望的。我只是想确定这是不可能的。