1

嗨,我对 Java 很陌生,我想知道这两个语句之间有什么区别:

long statusId = (long)(Some_Valid_Cast); 

和:

Long statusId = (Long)(Some_Valid_Cast); 

铸造时应该首选哪一个,为什么?

提前致谢。

4

3 回答 3

3

第一个转换为原始类型long,第二个转换为类型的对象Long。这些是不同的 - 请参阅相关问题。

于 2012-12-13T13:09:11.827 回答
1

你想要一个长的对象表示,还是只是数字(原语)?

原语(int、long 等)可以与它们的对象等价物(IntegerLong)互换。如果您使用对象变体,则可以将它们插入到通常带有对象的集合中(例如Map, List, Set)并在需要 anObject的任何地方使用。但是,我通常希望您在大多数应用程序中使用原始变体。

值得查看这个 SO question以获取有关利弊的更多信息。

于 2012-12-13T13:09:07.093 回答
1

long是原始类型,Long是 Object 类型。它基于您的需要。>=Java5 版本,不需要显式类型转换

于 2012-12-13T13:10:12.087 回答