問題タブ [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 投票する
3 に答える
20224 参照

java - オートボクシングのパフォーマンスへの影響

通常、コンパイラはボクシングとアンボクシングを実行するコードを生成します。しかし、ボックス化された値が必要ない場合、コンパイラは何をしますか?(Oracle標準)コンパイラはそれを最適化するのに十分賢いですか?

この方法を見てください:

関連する情報は。だけarray.lengthなので、たとえば配列の各値をボックス化することは無意味です。このコードのように:

コンパイラは実際に配列の各値をボックス化するためのコードを挿入しますか?

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

java - java:boolean instanceOf Boolean?

私は少し混乱しています。引数としてオブジェクトを受け取る関数があります。しかし、プリミティブを渡すだけで、ブールプリミティブをブールオブジェクトとして認識しても、コンパイラは文句を言いません。どうしてこんなことに?

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

java - オートボクシング/拡大はShorta= 3で発生しますが、Float a=3では発生しません。

次のコードが機能しないことを理解しています

Float a = Integer.valueOf(3)として変換されるためです。LHSにはFloat参照があり、RHSには互換性のないIntegerオブジェクトがあります。だが :

1.1。

これは機能しますが、ここでも、LHSにShortリファレンスがあり、RHSにIntegerオブジェクトがあります。

2.2。

Float a=(Float) 3

3をタイプキャストしていなかった場合は、Integer.valueOf(3)として変換されます。さて、それはFloat.valueOf(3)として変換されますか?

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

java - ブール値、条件演算子、オートボクシング

なぜこれが投げるのですかNullPointerException

これはしませんが

解決策は、箱から出されるのを避けるためにfalse置き換えるBoolean.FALSEことです-これは不可能です。しかし、それは問題ではありません。問題はなぜですか?特に2番目のケースのこの動作を確認するJLSの参照はありますか?nullboolean

0 投票する
1 に答える
86 参照

java - このコードでnullポインタ例外が発生するのはなぜですか?

出力:スレッド「main」の例外java.lang.NullPointerException at Test.go(Test.java:12)at Test.main(Test.java:8)

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

java - 自動ボックス化解除せずに、キャストされたオブジェクトをプリミティブ型に簡潔に変換するには、括弧をどこに置きますか?

自動ボックス化解除を使用すると、次のステートメントが自動的に機能します。

Integerしかし、1 行で anから an hereに明示的に変換したい場合int、括弧をどこに置く必要がありますか?

0 投票する
1 に答える
3106 参照

java - Javaの自動ボクシング/アンボクシングの奇妙さ

重複の可能性:
ブール値、条件演算子、オートボクシング
Java、Googleコレクションライブラリ。AbstractIteratorに問題がありますか?

以下のコードはNPEを生成します。

例外なく「null」を正しく出力するには、次のコードが必要です。

最初の例では、「test」がボックス化されていない(ネイティブintに変換されている)ことは明らかですが、なぜですか?そして、なぜ三項演算子の他の式を変更すると(2番目の例のように)それが修正されるのですか?両方の例の内容がボックス化およびボックス化解除される正確な時期、内容、および理由について、誰かが何らかの物語を提供できますか?

0 投票する
1 に答える
1557 参照

java - Rhino、typeof、オートボクシングの混乱

SmartfoxServer (Rhino を使用) のサーバー側拡張機能には、次のような Javascript がありました。

これによりエラーが発生しました。どうしたの?プロパティは JavaMapであるため、数値が入力されると、java.lang.Doubleオブジェクトに自動ボックス化されます。したがって、それを取得して に格納するとresponse["xpos"]、結果は通常の Javascript の数値ではなく、JavaObject型の になりjava.lang.Doubleます。関数はそれを処理するためのJSON.stringifyものではなく、クラッシュしました。

次のようなハックで修正しました:

より良い方法はありますか?

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

java - ブール値 != false

Java では、通常、次のように言います。

if(someBool != false)

と同じです

if(someBool)

しかし、が but someBool型ではなく、その値が である場合はどうなるでしょうか?booleanBooleannull

0 投票する
1 に答える
1196 参照

java - Scala オートボクシングと Java Map

type の引数を取る Java メソッドがありますMap<Long, Foo>。Scala 2.8.1 でそのメソッドの単体テストを作成し、リテラルを渡そうとしていMap[Long, Foo]ます。

私のコードは次のようになります。

コンパイラは私に次のエラーを与えています:

私もそれを試しました

エラーが発生しました:

どうすればいいですか?