問題タブ [erasure]
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.
scala - Scala のジェネリック型のパターン マッチング
次のようなスカラ関数があります。
ここで、T のタイプに応じて (私の場合は、 、および である可能Double性BooleanがLocalDateあります)、 に関数を適用する必要がありますob。このようなもの(コードが意味をなさないことはわかっていますが、私が何をしようとしているのかを伝えようとしています):
Scala の Erasure プロパティを考慮して、リフレクションを何らかの方法で使用して仕事を終わらせることはできますか? それは可能ですか?
scala - Scala と Haskell の List[T] と Set[T] でのパターン マッチング: 型消去の効果
以下のコードに相当する Haskell は正しい答えを生成しますか?
この Scala コードを修正して、正しい答えを生成できますか? はいの場合、どのように?
プリント:
しかし、私はそれが印刷されることを期待しています:
scala - Scala collect 型パターンと型消去
させて
など
でも
と警告する
したがって、整数のリストを収集するための警告のない/正しいアプローチがあるかどうかを尋ねます。
どうもありがとう。
scala - scala getClass と型消去?
ジェネリック型の場合に getClass メソッドを使用すると、少し困惑します。
これは常に AnyRef か Any か何かであるべきではありませんか? タイプK情報は実行時に利用できないので?
がa(3)出力さIntれ、出力されa("fdasf")ますString.
わかりました、これはばかげた質問です。K とキーの型情報に混乱します。
java - 型消去によるあいまいなコンストラクター
次のような従来のソース コードの断片があります。
コードで使用されるOpenMBeanParameterInfoSupportコンストラクターは 1.6 で導入されました。コードが 1.6+javacでコンパイルされるたびに、次のエラー メッセージが表示されます。
2 つの質問:
- 生の型を使用することは不正行為であることは理解していますが (ではなく
openTypeとして宣言する必要があります)、ctor シグネチャがあいまいになるのはなぜですか? 最初のケースでは、署名の消去はであり、2 番目のケースでは、最も具体的なタイプ (つまり ) の署名を選択する必要がありますね。OpenType<?>OpenTypeOpenMBeanParameterInfoSupport(String, String, OpenType, Descriptor)OpenMBeanParameterInfoSupport(String, String, OpenType, Object)javacDescriptor - 私の同僚は、1.7 JDK を指定して 1.7 JDK を使用してプロジェクトを正常にビルドできると主張していますが
-source 1.6 -target 1.6、コンパイラ エラーに直面しているのは私だけです。コードを変更せずにコンパイルする方法はありますか? 私が考える唯一の回避策は、ソース レベルを 1.4 に設定することです。これは、ビルド サーバーが使用するものではありません。