我们知道,Class#isAssignable
不考虑,一个值可以自动装盒/拆箱。例如。以下四种情况下,较低的回报false
:类别#isAssignable来源和拆箱/装箱
// obvious
System.out.println(boolean.class.isAssignableFrom(boolean.class)); // true
System.out.println(Boolean.class.isAssignableFrom(Boolean.class)); // true
// boxing/unboxing
System.out.println(boolean.class.isAssignableFrom(Boolean.class)); // false
System.out.println(Boolean.class.isAssignableFrom(boolean.class)); // false
是否有这个方法,它会考虑这种情况下的预先存在的变种? (即,在上述所有四种给定情况下返回true
)。如果不是,那么对于所有原始/包装组合实现这一点的最佳方式是什么?
什么是你的使用情况?无论如何,你永远无法在'boolean'上调用'getClass()'。 –
@SotiriosDelimanolis他可能会,boolean.class(或Boolean.TYPE)可能会使用反射类型传递。 –
@arne这些都是afaik,它是获取'boolean'类对象的唯一方法。所以我没有看到在运行时知道这些信息的有用性。 –