問題タブ [unboxing]
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.
.net - PowerShell Invoke-Sqlcmd - DataTable または DataSet を返さない
私が次のことをすると、
(有効なものの単なるプレースホルダーです)
次に、返される型は次のようになります。
理想的には、$a を System.Data.DataSet (または類似の) 形式の .NET 型を受け入れる関数に渡したいと考えています。
詳細については、Windows 7 の PowerShell 2 で以前の SQL サーバー (SQL Server 2008) の公式 MS ディストリビューションをラップする Chad Miller の SQLPS モジュールを使用しています。
これはボックス化とボックス化解除に関係があるのではないかと思いますが、私には明らかではありません.
クエリ結果を System.Data.DataSet 型として返す方法はありますか?
java - null のボックス化されたオブジェクトのボックス化を解除すると、予期しない NullPointerException がスローされる
次のコードを実行すると、
次のスタックトレースを取得します。
コンパイラの警告などがないのはなぜですか? 私見、それはボックス化解除のかなり厄介な微妙さです。または、私が単純なだけかもしれません。
@Javierが提供する回答に加えて、Eclipse を使用している場合は、これを有効にするために次の操作を行う必要があります。
- Window> Preferences> Java> Compiler>に移動しますErrors/Warnings
- 潜在的なプログラミングの問題を展開する
- ボックス化とボックス化解除の変換を「警告」または「エラー」に切り替えます
- 「OK」をタップ
c# - コンパイル時にそのタイプを知らずに、オブジェクトからそれに含まれるタイプにボックス化解除する方法は?
実行時に、何らかのタイプのボックス化されたインスタンスを取得します。基になるタイプにボックス化解除する方法は?
c#-4.0 - 値= nullでボックス化解除のnull許容型の型を確認する方法は?
この方法を見てください:
Nullable型の場合、ディクショナリの値が null の場合、式がif(viewModelParams[paramKey] is T)
適切に機能しなかったため、次のことを明確にします。
null 許容型のボックス化とボックス化解除の概念 ( Boxing Nullable Typesif(viewModelParams[paramKey] is T)
) は知っていますが、このシナリオでどの式が置き換えられたのかわかりませんか?
java - ラッパーがボックス化解除を使用する場合、intValue() メソッドの必要性は何ですか?
たとえば、次のコードを見てください。
ご覧のとおり、ラッパーからプリミティブに整数値をコピーする方法は 2 つあります。
私はボックス化解除を使用できます、
また
メソッドを使用できますInteger#intValue()
。
では、すでにアンボックスが行われているのに、メソッドを用意する必要があるでしょうか?
java - Java 6 と Java 7 の自動アンボックスの違い
Java SE 6 と Java SE 7 の自動アンボックス動作の違いに注目しました。これら 2 つのバージョン間でのこの動作の変更に関するドキュメントが見つからないため、なぜそうなのか不思議に思っています。
簡単な例を次に示します。
これは、Java SE 7 の javac で正常にコンパイルされます。ただし、コンパイラに「-source 1.6」引数を指定すると、最後の行でエラーが発生します。
Java SE 6 をダウンロードして、ネイティブ バージョン 6 コンパイラでコンパイルしようとしました (-source オプションなし)。同意し、上記と同じエラーが発生します。
それで、何が得られますか?いくつかの実験から、Java 6 でのボックス化解除は、明らかに (コンパイル時に) ボックス化された型である値のみをボックス化解除できるようです。たとえば、これは両方のバージョンで機能します。
そのため、Java 6 と 7 の間で、ボックス化解除機能が強化され、(コンパイル時に) 値が適切なボックス化された型であることを知らなくても、オブジェクト型を一度にキャストしてボックス化解除できるようになりました。しかし、Java 7 が出たときに書かれた Java 言語仕様またはブログ投稿を読んでも、このことの変更は見られないので、変更とは何なのか、この「機能」は何と呼ばれているのか疑問に思っています。 ?
ただの好奇心: 変更により、「間違った」ボックス化解除をトリガーする可能性があります。
これは正常にコンパイルされますが、実行時に ClassCastException が発生します。
これに関する参照はありますか?
c# - ボックス化された値の型は、オブジェクトの実際の値の型と同じアドレスを持っていますか?
MSDN からunbox
_
- オブジェクト参照がスタックにプッシュされます。
- オブジェクト参照がスタックからポップされ、値型ポインターにアンボックス化されます。
- 値型ポインターがスタックにプッシュされます。
この場合、オブジェクト参照は値型ポインタと同じではありませんか? (値の型はオブジェクト内の唯一のメンバーであるため、両方の値はヒープ内の値の型へのアドレスです)?
たとえば、要素が 1 つの配列: 配列のアドレスは、配列の最初の要素のアドレスと同じです。
haskell - Storable と Unbox の間の変換
この質問への回答により、 Data.Vector.Unboxed.UnboxのインスタンスからForeign.Storable.Storableのインスタンスを構築できるようにしたいと考えています(逆も同様です)。これは可能ですか?
私が知っている最も近いものはvector-th-unboxですが、これは unboxable インスタンスを作成するだけです。
c# - C# DataTable と一部の一般的なコレクションのパフォーマンス
DataTable
データを挿入/取得するときに、ボックス化/ボックス化解除を使用していることを知っています。たとえば、のみを含む非常に大量のデータがある場合、int
ある種のジェネリックを使用する方が高速ではありませんか?DataTable
MyDataTable<int>