嗨,我对 Java 很陌生,我想知道这两个语句之间有什么区别:
long statusId = (long)(Some_Valid_Cast);
和:
Long statusId = (Long)(Some_Valid_Cast);
铸造时应该首选哪一个,为什么?
提前致谢。
第一个转换为原始类型long
,第二个转换为类型的对象Long
。这些是不同的 - 请参阅此相关问题。
你想要一个长的对象表示,还是只是数字(原语)?
原语(int、long 等)可以与它们的对象等价物(Integer
等Long
)互换。如果您使用对象变体,则可以将它们插入到通常带有对象的集合中(例如Map
, List
, Set
)并在需要 anObject
的任何地方使用。但是,我通常希望您在大多数应用程序中使用原始变体。
值得查看这个 SO question以获取有关利弊的更多信息。
long是原始类型,Long是 Object 类型。它基于您的需要。>=Java5 版本,不需要显式类型转换