Java,可以使用布尔值赋值布尔值,反之亦然?

fis*_*rds 1 java reflection

当我运行此代码片段时,不会采取任何一方.

if (Boolean.class.isAssignableFrom(boolean.class)) {
     uLog.error("Boolean is => boolean");
}
if (boolean.class.isAssignableFrom(Boolean.class)) {
     uLog.error("boolean is <= Boolean");
}
Run Code Online (Sandbox Code Playgroud)

具体来说,我正在尝试使用反射测试参数类型:

Type[] pType = m.getGenericParameterTypes();
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚布尔参数的正确测试.

Ste*_*Kuo 5

Boolean(对象)和boolean(基元)不能相互转换/分配.但是,从Java 1.5开始,编译器会自动在两者之间进行box/unbox.

当你这样做时:

boolean b =
Boolean bb = b;
b = bb;
Run Code Online (Sandbox Code Playgroud)

Java编译器自动将其转换为:

boolean b=
Boolean bb = Boolean.valueOf(b);
b = bb.booleanValue();
Run Code Online (Sandbox Code Playgroud)