23

最近、人々が次のようなものを書くコードに出くわしました

Long myLong = Long.valueOf(42);

// instead of

Long myLong = 42L;

読みやすさに関する個人的な好みを除いて、なぜこれを行うのかわかりません。

何か不足していますか?

4

6 に答える 6

3

また、オートボクシングがなく、Java5 より前の Java を思い出させるものだと思います。

Long l = 42L; 

コンパイルできませんでした。

于 2013-08-30T12:23:25.337 に答える
1

valueOfプリミティブ を取りますlong。リテラルについては、その42L方が良いことに同意しますが、intorlong変数がある場合Long.valueOfは、 を取得する良い方法Longです。 valueOfまた、-128 から 127 までの値のキャッシュを使用するnew Long(long)ため、一般的な値に対してわずかにパフォーマンスが向上します。

于 2013-08-30T11:51:22.120 に答える