問題タブ [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.
java - オブジェクトまたはプリミティブ型
JAVAのプリミティブ型の代わりにInteger、Booleanなどを使用する方法を誰かが説明してくれますか?
彼らが提供している利点を理解できないようです。これらは、null 値を処理するという不必要な問題を引き起こしているようです。
ありがとう!
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?
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 つの値を持つことができるべきであることを決して受け入れません。誰でもこれを説明できますか?私は何を得ていないのですか?
java - int num = Integer.getInteger( "123")がNullPointerExceptionをスローするのはなぜですか?
次のコードがスローされNullPointerException
ます:
getInteger
静的なので、コンパイラはnullを呼び出していますか?それは意味がありません!
何が起こっていますか?
java - Java での奇妙な整数ボクシング
次のようなコードを見ました。
実行すると、このコード ブロックが出力されます。
最初の理由がわかりfalse
ました。2 つのオブジェクトが別々のオブジェクトであるため、==
参照が比較されます。しかし、私は理解できません.2番目のステートメントが返されるのはなぜtrue
ですか? 整数の値が特定の範囲にあるときに作動する奇妙なオートボクシング ルールはありますか? 何が起きてる?
java - Integer.valueOf() の値
以下のように、最終的な整数を初期化するために Integer.valueOf(X) を使用する理由はありますか?
これは、オートボクシングが追加される前の古いバージョンの Java で必要だったことを理解しています。このタイプのコードの理由は残っていますか? それともただの悪い癖ですか?
java - これは一般的なオートボクシングですか?
「this.<Double>getAnything(int flag)」のような通常の表記法を使用せずに値を割り当てる
以前は、メソッドの戻りオブジェクトと受信型の単純なキャストだけで十分だったので、受信側オブジェクトに一般的な表記がないため、はるかに似ていて高速に記述できます。これに関する他のヒントはありますか?
java - 三項式のオートボクシングでの NullPointerException
次の Java コードを実行します。
NullPointerException があるのはなぜですか?
java - プリミティブ double 値での Double オブジェクトの初期化
java.lang.Double オブジェクトが、コンストラクターへの呼び出しを使用せずにプリミティブを使用して初期化されるとどうなりますか? 動作しているように見えますが、その理由はよくわかりません。コンパイラで何らかの暗黙の変換が行われていますか? これはJava 5を使用しています。
java - オートボクシングとオブジェクトの等価性/同一性に関する Java の質問
なぜb1 == b2
偽とc1 == c2
真なのですか?