問題タブ [unchecked-conversion]

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 に答える
392 参照

java - ジェネリック メソッドは暗黙のキャストを実行しますが、非ジェネリック メソッドは明示的なキャストを必要とします

この質問は、以前の質問に関連しています。オリジナルは、キャストを追加して未チェックの変換を行うことで解決できます。だから今、私は次のコードを持っています:

私の当初の意図は、ジェネリック メソッドを作成することでした。そこで、この方法foo2()を次のように一般化しました。

これには明らかに未チェックの変換が含まれており、適切な警告でコンパイルされます。getClass()しかし、明示的にの結果を にキャストしませんClass<E>foo1()はジェネリック メソッドの 1 つのインスタンスであるため、foo3()ここにもキャストを追加する必要があると予想しました。比較foo1()してfoo4()...

...この 2 つは事実上似ています (主な違いは のE1 eパラメータですfoo1())。ただしfoo1()、コンパイルされますが、コンパイルされfoo4()ません。これは矛盾していると感じます。ジェネリック メソッドの暗黙的な変換を許可するルールはありますか?

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

java - Unchecked オーバーライドを取り除く: 戻り値の型には未チェックの変換が必要です

私のコードに似たサンプルコード。

私のClientClientクラスでは、次のような警告が表示されます。

Unchecked overriding: return type requires unchecked conversion.Found 'Builder<java.lang.String,java.lang.Integer>', required 'Builder<java.lang.String,A>

このエラーを取り除くためにできることはありますか?
を使用できます@SuppressWarnings("unchecked")が、それは適切ではありません。

私の例Aでは常に ですIntegerが、実際のコードAでは 2 つのオブジェクトのいずれかになります。

次のように、インターフェイスに 2 つのメソッドを含めることもできると思います。

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

ada - Unchecked_Conversion を使用して値を読み取り、カスタム型に変換する

ファイルから入力を読み取って使用しようとするときの方法'Sizeと動作について、私はかなり混乱しています。ソースとターゲットの両方をうまく使用するには、同じである必要があることを私は知っています。次のようなファイルから入力を読み込んでおり、未チェックの変換を使用してそれをビットの配列に入れたいと考えています。ただし、サイズが同じでないか小さすぎるため、変換は常に失敗するようです。'Component_SizeUnchecked_ConversionUnchecked_Conversionsize000100000101001

sizeこれが私のタイプです。ビットは0または1で、1ビットまでしかありません。Bit_Array は、入力が 15 ビット長または 11 ビット長のいずれかになる可能性があるため、制約のないビットの単なる配列です。私の考えは、最初の行を文字列に読み込み、それを Bit_Array に変換することでした。String およびその他のすべてのプリミティブ型は ではないため、これは機能しませんSize => 1。したがって、当然のことながら、これを処理する新しい型を作成して、独自の文字列型を作成し、size => 1文字には 8 ビットが必要です。データ行を読み取り、Bit_Array に収まるように変換するには、どのデータ型を作成する必要がありますか? 私はこれに間違って近づいているかもしれませんが、私にとっては非常に混乱しています。ヘルプやヒントをいただければ幸いです。