[英]Comparison against Double.TYPE and Double.class
實際上,這不是問題,因為我會立即提供答案,因此您不會一意孤行:
我想檢查(使用反射) Field
是原始類型還是包裝類之一。
我使用cl.isPrimitive()
和c==Boolean.TYPE
類的比較進行了檢查,但是根據我的調試器,Boolean.TYPE.toString返回“ boolean”,而不是“ Boolean”。
Double.TYPE == double.class
將返回true
。
Double.class != Double.TYPE
也將返回true
。
它們(double.class和Double.TYPE)以某種方式表示同一件事,不要問我為什么...
如果要與Double
比較,請與Double.class
比較。
如果要與double
比較,請與double.class
或Double.TYPE
比較。
盡管我尚未對所有原語進行測試,但對於所有其他原語及其包裝程序,它應該是相同的。
我希望這將至少節省我寫這篇文章所花的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.