我們知道,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'類對象的唯一方法。所以我沒有看到在運行時知道這些信息的有用性。 –