こんにちは、私は Java を初めて使用します。次の 2 つのステートメントの違いは何だろうかと思います。
long statusId = (long)(Some_Valid_Cast);
と:
Long statusId = (Long)(Some_Valid_Cast);
キャストにはどちらを優先する必要がありますか?その理由は?
前もって感謝します。
1 つ目はプリミティブ型long
にキャストし、2 つ目は型のオブジェクトにキャストしますLong
。これらは異なります-この関連する質問を参照してください。
long のオブジェクト表現が必要ですか、それとも数値 (プリミティブ) だけが必要ですか?
Integer
プリミティブ (int、long など) は、同等のオブジェクト ( など) と交換できますLong
。オブジェクト バリアントを使用すると、通常オブジェクトを取るコレクション ( Map
、List
、 など) に挿入でき、が期待さSet
れる場所ならどこでも使用できます。Object
ただし、通常は、ほとんどのアプリケーションでプリミティブ バリアントを使用することを期待しています。
長所/短所の詳細については、このSOの質問を見る価値があります。
longはプリミティブ型で、Longはオブジェクト型です。そのニーズに基づいています。>=Java5 バージョン、明示的な型キャストは不要