問題タブ [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 - Double[] を double[] に変換するにはどうすればよいですか?
オブジェクトのタイプを含むことができるテーブルに似た機能を持つインターフェイスを実装しています。インターフェイスは次の機能を指定します。
私が困惑しているのは、私の実装では、テーブル データを 2DObject
配列 ( Object[][] data
) に格納していることです。値を返す必要がある場合は、次のようにします (getDoubles()
は double を含む列でのみ呼び出されると想定されるため、 はありませんClassCastExceptions
)。
Object[]
しかし - Java はにキャストすることを許可していませんdouble[]
。はプリミティブではなくオブジェクトであるDouble[]
ため、キャストしても問題ありませんが、私のインターフェイスでは、データが . として返されるように指定されています。Double
double[]
だから私は2つの質問があります:
- テーブルから列データを取得し、
Object[][]
プリミティブの配列を返す方法はありますか? - インターフェイスを return
Double[]
に変更した場合、パフォーマンスに影響はありますか?
java - オートボクシングを検出するビルドツール?
ビルド サーバーからの自動ボックス化およびボックス化解除にフラグを付けるスタイル チェッカーまたはビルド ツールを知っている人はいますか?
私はすでに日食オプションを持っていますが、プロジェクトの全員が同じ IDE または同じ設定を使用しているわけではありません。ビルド側でそれを見つけることが、プロジェクトに侵入する可能性がある場所を検出する唯一の方法のようです。
java - ベクター要素を印刷しようとすると、これらの奇妙な文字が表示されます!
私はネットビーンズを使用しています。以下のプログラムを実行すると、これが出力として得られます[I@de6ced
! どうして?
私もそれを回避しようとしましたが、その後
スレッド「メイン」で例外 java.lang.ClassCastException: [TopCoder.Test.main(Test.java:13) で java.lang.Integer にキャストできません Java Result: 1
java - What does it mean to say a type is "boxed"?
I have heard of types being referred to as "boxed" in some languages.
In Java, I have heard of "autoboxing". What is this? Is it having wrapper classes for a type? How would my code change if I'm working with boxed or unboxed types?
java - Javaで2つの整数を正しく比較するにはどうすればよいですか?
ボックス化されたプリミティブ整数を次のような定数と比較すると、次のことがわかります。
a
自動的に開封され、比較が機能します。
しかし、ボックス化された 2 つのものIntegers
を比較していて、等しいか小さいか大きいかを比較したい場合はどうなるでしょうか。
上記のコードは、それらが同じオブジェクトであるかどうかを確認する結果になりますか、それともその場合は自動アンボックスになりますか?
どうですか:
?
c# - オートボクシングとアンボクシングはJavaとC#で異なる動作をしますか
コードをJava(1.6)からC#に手動で変換していますが、プリミティブ(intおよびdouble)の動作に問題があります。C#では、ほとんどすべての変換が自動的に行われるようです
ただし、Javaでは一部のみが許可されます
違いと根本的な論理的根拠の体系的な分析に感謝します。
java - Java:なぜここでオートボクシングが行われないのですか?
これは私にエラーを与えます:
Eclipse:
add(List<Integer>)
型のメソッドSet<List<Integer>>
は引数には適用できません(List<int[]>
)
int
オートボックス化されるはずだったのInteger
?
java - Javaオートボクシング
作業中のプロジェクトをMavenに切り替えたところ、突然オートボクシングが壊れたようです。私のIDE(NetBeans)は、次のような行で「互換性のないタイプ」というエラーで文句を言います。
java - intValue が必要なときに NSNumber のポインターを誤って使用しないようにするにはどうすればよいですか?
私が本当に気に入っている Java の機能の 1 つは、コンパイラがプリミティブとそのラッパー クラスを自動的に変換するオートボクシングです。
Objective-C/Cocoa で Core Data アプリケーションを作成していますが、整数属性をプログラムで処理するのが面倒です。理由は次のとおりです。
たまたまintValue
メッセージを忘れてしまった場合 (時々そうします)、渡される intstringWithFormat:
は実際にはポインター値です。
問題は、これが完全にサイレントに発生することです。コンパイラ エラーや警告は発生しません。このばかげた、ばかげたことが問題である場合、デバッグに時間がかかりすぎることがあります。
プログラミング スタイルやコンパイラの設定を変更して、その罠に陥らないようにする方法はありますか?
編集:上記の例は、私が問題に遭遇する多くの場所の1つにすぎないという事実について明確ではありませんでした. 文字列とは関係のない別の架空の例を次に示します。
エンティティCollegeClass
には、 と の 2 つの整数属性がcourseNumber
ありenrollmentLimit
ます。コース番号を比較したいとしましょう:
または、同様に、CS 部門のすべてのクラスの平均登録制限を計算したいとします。
java - 内部コンパイラ エラー ArrayIndexOutOfBoundsException: -1 ... generateUnboxingConversion
これをコンパイルしようとすると、奇妙な例外が発生しました。
有効なチェック (ボックス化解除-暗黙のキャスト - ボックス化解除) ですか?