2012-12-13 56 views
1

嗨,我是很新的Java和我想知道的是這兩個語句之間的區別:這些演員之間有什麼區別?哪一個是首選?

long statusId = (long)(Some_Valid_Cast); 

和:

Long statusId = (Long)(Some_Valid_Cast); 

哪一個應首選鑄造,爲什麼?

在此先感謝。

+0

可能重複的[長vs整數,長vs int,使用什麼和什麼時候?](http://stackoverflow.com/questions/5857812/long-vs-integer -long-vs-int-what-to-use-when- –

回答

1

你想要一個長的對象表示,還是僅僅是數字(原語)?

基元(int,long等)可以與它們的對象相等(Integer,Long等)互換。如果使用對象變體,則可以將它們插入到通常需要對象的集合中(例如Map,List,Set),並在需要Object的任何地方使用。但是,我通常會希望你對大多數應用程序使用原始變體。

關於優點/缺點的更多信息,請參閱this SO question

+0

Downvoted爲什麼? –

3

第一個轉換爲原始類型long,第二個轉換爲Long類型的對象。這些是不同的 - 見this相關的問題。

1

是原始類型和是對象類型。它根據您的需要。 > = Java5版本,顯式類型轉換不需要

相關問題