問題タブ [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.
c# - C#テストでの文字列と文字列の同等性
重複の可能性:
C# の文字列と文字列
私が読んでいるC#コードでテストがあります:
これが厳密に同等かどうか疑問に思っています:
または、C# オートボクシングの難解な動作により、これらのテストの動作が異なる場合。
java - 番号を割り当てるときのNullPointerException
次のコードを実行すると、奇妙なことが起こります。
割り当て行のログにNullPointerExceptionが表示されることがありますが、なぜそれが発生するのか理解できません。何か案が?
java - Javaでオートボクシングを避けるべきですか?
メソッドがプリミティブ型を期待し、オブジェクトをパラメーターとしてdouble
渡す場合があります。Double
コンパイラは渡されたオブジェクトのボックス化を解除するため、これによりメモリ使用量が増加するか、パフォーマンスが低下しますか?
java - Java 7でメソッドのオーバーロードを使用するときに、自動ボクシングがvarargsを無効にしないのはなぜですか?
Javaプロジェクトには次のようなクラスLogManagerがあります。
DebianでOpenJDK6を使用してプロジェクトをコンパイルすると、すべてが正常に機能します。OpenJDK 7を使用する場合、ビルド(antで実行)により次のエラーが発生し、ビルドが失敗します。
1が自動ボックス化されていない限り、1はintであり、Objectにアップキャストできないため、メソッド呼び出しは明確である必要があります。では、なぜオートボクシングはここでvarargsを無効にしないのですか?
Eclipse(eclipse.orgのtar.gzを使用してインストール)は、OpenJDK6がインストールされているかどうかに関係なくコンパイルします。
どうもありがとうございました!
編集:
コンパイラはオプションsource="1.6"
を取得しtarget="1.6"
、どちらの場合も。Eclipseのコンパイルノートは単なるコメントです。
scala - 「ブール」型と「ブール」型のクラスを一致させる方法は?
次のコードを検討してください。
の行でretType
と一致させたいと思います。ボックス化されたタイプとボックス化されていないタイプのクラスを自動的に同一視するにはどうすればよいですか?boolType
(*)
[編集:] これが最善の解決策だとは思いませんが、1 つの方法は比較することです。
retType.getCanonicalName == "boolean"
[Edit2:] コンテキスト: フォーム名に基づいてメソッドを自動的に呼び出すコードを書いています。コードは、メソッドから戻り値の型などを抽出し、適切な回答を返す必要があります。例として、次のスニペットが使用されます。
scala - ボックス化された Double を純粋な Scala で表現するにはどうすればよいですか?
Scala には倍精度数の 2 つの表現があり、1 つは 、もう 1 つはAnyVal
ですAnyRef
。double
JVM では、それらはそれぞれプリミティブとクラスにマップされjava.lang.Double
ます。
JVM 以外のプラットフォームではどうなるでしょうか。プリミティブに使用できますScala.Double
が、指定せずにボックス化された Double への参照が必要であることを指定するにはどうすればよいjava.lang.Double
ですか?
[コンテキスト - Thomasz の回答を理解するために残されましたが、根本的な問題ではありません。
Spring で Wicket コンポーネントに挿入したい Double があります。
上記のようにタイプを指定すると、scala.Double
オブジェクトのみを注入できるため、インジェクターは失敗します。
java.lang.Double
フィールドのタイプとして指定すれば、すべて問題ありません
しかし、私は Java API への依存を減らしたいと考えてDouble
います。]
java - int と int[] の違い - ジェネリック内のオートボクシング?
次のコードを参照してください。
私の知る限り、Javaジェネリックはプリミティブ型をサポートしていませんが、int[]
コンパイルはどうですか? ここでオートボクシングはどのように可能ですか?
ios - iOS5コアデータとNSNumberは自動ボクシング/アンボクシングがありますか?
Javaから来て、私はオートボクシングにかなり慣れています。ここでは、intは必要に応じて自動的に整数にラップされ、整数はプリミティブにボックス化解除される場合があります。iOS5で信頼できる類似のものはありますか?
現在、私はコアデータを使用していますが、入力し続けるには多くの入力が必要です
方程式などでNSNumberを直接使用する方法はありますか?例えば:
さらに、コアデータで番号を再割り当てする必要があるたびに、このような新しいオブジェクトを作成しています。
すでに作成されているNSNumberの値を変更するためのより良い方法はありますか?10年後の手根管から身を守るために、どのような気の利いたショートカットを使用できますか?
ありがとうございました!
java - == はメモリ位置をどのように比較しますか?
オブジェクトのインスタンスではなく値を比較する==
ため、文字列には使用しないで他のすべてに使用するように言われました。.equals
(私は違いを理解しています)。
いくつかのサイトによると、==
メモリの場所を比較しますか?
私が理解できないのは、整数を別の整数と比較している場合、なぜメモリの場所を比較するのか、それとも文字列のためだけなのかということです。
int 3 と int 4 を比較している場合、明らかに同じメモリ位置にはありませんが、int 4 と int 4 を比較している場合、4 の値を持つすべての整数が同じ場所に格納されていることを意味しますか?記憶場所?
java - 三項演算子で許可されているがifステートメントでは許可されていないintとしてnullを返す
次のスニペットの単純な Java コードを見てみましょう。
この最も単純な Java コードでtemp()
は、関数の戻り値の型が であっても、メソッドはコンパイラ エラーを発行せず、値を (ステートメントを通じて)int
返そうとしています。コンパイルすると、明らかに実行時例外が発生します。null
return true ? null : 0;
NullPointerException
ただし、(メソッドif
のように) ステートメントで三項演算子を表すと、コンパイル時エラーが発生します。なんで?same()