[英]Java, can Boolean be assignedFrom boolean, and vice versa?
当我运行这个代码片段时,两边都没有被取走。
if (Boolean.class.isAssignableFrom(boolean.class)) {
uLog.error("Boolean is => boolean");
}
if (boolean.class.isAssignableFrom(Boolean.class)) {
uLog.error("boolean is <= Boolean");
}
具体来说,我正在尝试使用反射来测试参数类型:
Type[] pType = m.getGenericParameterTypes();
而且我无法找出 boolean 参数的正确测试。
Boolean
(对象)和boolean
(原语)不能相互转换/分配。 但是,从 Java 1.5 开始,编译器会自动在两者之间装箱/拆箱。
当你这样做时:
boolean b =
Boolean bb = b;
b = bb;
Java 编译器自动将其转换为:
boolean b=
Boolean bb = Boolean.valueOf(b);
b = bb.booleanValue();
内置boolean
的类型由Boolean.TYPE
表示。 由于boolean
不能被继承,你不需要isAssignableFrom
:你可以简单地检查有问题的类型是否与Boolean.TYPE
相等,看看参数的类型是否是内置的boolean
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.