1

こんにちは、私は Java を初めて使用します。次の 2 つのステートメントの違いは何だろうかと思います。

long statusId = (long)(Some_Valid_Cast); 

と:

Long statusId = (Long)(Some_Valid_Cast); 

キャストにはどちらを優先する必要がありますか?その理由は?

前もって感謝します。

4

3 に答える 3

3

1 つ目はプリミティブ型longにキャストし、2 つ目は型のオブジェクトにキャストしますLong。これらは異なります-この関連する質問を参照してください。

于 2012-12-13T13:09:11.827 に答える
1

long のオブジェクト表現が必要ですか、それとも数値 (プリミティブ) だけが必要ですか?

Integerプリミティブ (int、long など) は、同等のオブジェクト ( など) と交換できますLong。オブジェクト バリアントを使用すると、通常オブジェクトを取るコレクション ( MapList、 など) に挿入でき、が期待さSetれる場所ならどこでも使用できます。Objectただし、通常は、ほとんどのアプリケーションでプリミティブ バリアントを使用することを期待しています。

長所/短所の詳細については、このSOの質問を見る価値があります。

于 2012-12-13T13:09:07.093 に答える
1

longはプリミティブ型で、Longはオブジェクト型です。そのニーズに基づいています。>=Java5 バージョン、明示的な型キャストは不要

于 2012-12-13T13:10:12.087 に答える