問題タブ [autoboxing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3120 参照

java - オブジェクトまたはプリミティブ型

JAVAのプリミティブ型の代わりにInteger、Booleanなどを使用する方法を誰かが説明してくれますか?

彼らが提供している利点を理解できないようです。これらは、null 値を処理するという不必要な問題を引き起こしているようです。

ありがとう!

0 投票する
2 に答える
713 参照

java - Polymorphism, Autoboxing, and Implicit Conversions

Would you consider autoboxing in Java to be a form of polymorphism? Put another way, do you think autoboxing extends the polymorphic capabilities of Java?

What about implicit conversions in Scala?

My opinion is that they are both examples of polymorphism. Both features allow values of different data types to be handled in a uniform manner.

My colleague disagrees with me. Who is right?

0 投票する
9 に答える
10026 参照

java - Java のオートボクシングにより、ブール値に 3 つの値を使用できるのはなぜですか?

参照: http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html

「あなたのプログラムが null を autounbox しようとすると、NullPointerException がスローされます。」

ブール値に null を代入しようとすると、javac はコンパイル時エラーを出します。理にかなっています。ただし、ブール値に null を割り当てることは問題ありません。も意味があると思います。

しかし、null を autounbox しようとすると NPE が発生するという事実について考えてみましょう。これが意味することは、null チェックまたは例外処理なしでは、ブール値に対してブール演算を安全に実行できないということです。整数に対して数学演算を行う場合も同様です。

長い間、私は Java1.5+ のオートボクシングのファンでした。なぜなら、Java が真のオブジェクト指向に近づいたと思ったからです。しかし、昨夜この問題に遭遇した後、私はこれがひどいと思うと言わざるを得ません. 初期化されていないプリミティブを使用しようとすると、コンパイラがエラーを出すのは良いことです。それを失った場合、オートボクシングを使用したくありません。

オートボクシングのポイントを誤解している可能性があると思いますが、同時に、ブール値が 3 つの値を持つことができるべきであることを決して受け入れません。誰でもこれを説明できますか?私は何を得ていないのですか?

0 投票する
3 に答える
60409 参照

java - int num = Integer.getInteger( "123")がNullPointerExceptionをスローするのはなぜですか?

次のコードがスローされNullPointerExceptionます:

getInteger静的なので、コンパイラはnullを呼び出していますか?それは意味がありません!

何が起こっていますか?

0 投票する
12 に答える
21531 参照

java - Java での奇妙な整数ボクシング

次のようなコードを見ました。

実行すると、このコード ブロックが出力されます。

最初の理由がわかりfalseました。2 つのオブジェクトが別々のオブジェクトであるため、==参照が比較されます。しかし、私は理解できません.2番目のステートメントが返されるのはなぜtrueですか? 整数の値が特定の範囲にあるときに作動する奇妙なオートボクシング ルールはありますか? 何が起きてる?

0 投票する
7 に答える
778 参照

java - Integer.valueOf() の値

以下のように、最終的な整数を初期化するために Integer.valueOf(X) を使用する理由はありますか?

これは、オートボクシングが追加される前の古いバージョンの Java で必要だったことを理解しています。このタイプのコードの理由は残っていますか? それともただの悪い癖ですか?

0 投票する
2 に答える
717 参照

java - これは一般的なオートボクシングですか?

「this.<Double>getAnything(int flag)」のような通常の表記法を使用せずに値を割り当てる

以前は、メソッドの戻りオブジェクトと受信型の単純なキャストだけで十分だったので、受信側オブジェクトに一般的な表記がないため、はるかに似ていて高速に記述できます。これに関する他のヒントはありますか?

0 投票する
4 に答える
7157 参照

java - 三項式のオートボクシングでの NullPointerException

次の Java コードを実行します。

NullPointerException があるのはなぜですか?

0 投票する
3 に答える
25172 参照

java - プリミティブ double 値での Double オブジェクトの初期化

java.lang.Double オブジェクトが、コンストラクターへの呼び出しを使用せずにプリミティブを使用して初期化されるとどうなりますか? 動作しているように見えますが、その理由はよくわかりません。コンパイラで何らかの暗黙の変換が行われていますか? これはJava 5を使用しています。

0 投票する
7 に答える
5227 参照

java - オートボクシングとオブジェクトの等価性/同一性に関する Java の質問

なぜb1 == b2偽とc1 == c2真なのですか?