type-erasure

    5

    2答えて

    は、一般的な機能を検討し、コンパイル時に非ジェネリック型を強制するには? 私が解決したい下っ端の問題は、このようなものです:def addCase[T: ClassTag](...、まだClassTag:addCase関数は型消去のようClassTagを必要とすることによって解決することができ、警告、につながる var actorReceive: Receive = PartialFunction

    8

    1答えて

    これはJDK 1.6でコンパイルなぜ誰かが説明できますが、私はエラーメッセージが表示されませJDK 1.7で、そこから: をjava:例は抽象メソッドではなく、java.lang.Comparableの抽象メソッドcompareTo(java.lang.Object)をオーバーライドしませんか?あなたの情報については import java.util.concurrent.*; public

    7

    2答えて

    以下の例は、よく知られているイディオムの最小の、あまりよくない例です。 問題は熟語そのものについてではないので、最小限に保つにはコンパイルして醜いです。私は(そこに代替イディオムが存在する場合は、偶数か)可変長引数テンプレートメンバメソッドを紹介する時間が前にそれを変更する方法であるために苦しんだ何 struct Foo { virtual void fn() = 0; }; te

    7

    2答えて

    Javaジェネリックのオラクルのトレイルの1つである「Effects of Type Erasure and Bridge Methods」を検討していましたが、私は説明を納得させることができませんでした。不思議なことに、コードをローカルでテストしたところ、トレイルが説明する動作を再現することさえできませんでした。ここに関連するコードは次のとおりです。 public class Node<T> {

    1

    1答えて

    から防ぐことはできませんが、私はTraversableLikeのために、単純なヘルパー関数を書いている: How to specify a type parameter in calling a function while let the compiler infer the other? 私は次の関数を実装します。 implicit class TraversableLikeView[A, R

    12

    2答えて

    私はクラスがある場合:私は別のクラスからそのメソッドを使用しようとすると public class GenericClass<TBlah extends Number> { public List<String> getList() { return null; } } を:私はへのループのために上の行を変更するまで public class OtherCla

    7

    1答えて

    だから私はthis article about type erasureを読んでいた。しかし、その記事のコードは、例えば、部分的に間違っているようだ: void pullTheString() { MyAnimal *animals[] = { new AnimalWrapper(Cow()), /* oO , isn't template argument mi

    11

    4答えて

    ジェネリックスを使っていろいろなことを知りました。以下の例では、doStuff1コンパイルしかしdoStuff2ません: public <T extends Foo> void doStuff1(T value) { Class<? extends Foo> theClass = value.getClass(); } public <T extends Foo> void doS

    6

    1答えて

    私は約boost type erasureを読んでおり、潜在的な使用法を理解しようとしています。私はトピックについてのたくさんのドキュメンテーションを読んでいる間に少し練習したい(それは大きなものに見える)。クライアントとサーバーの間でデータをネットワーキング/交換する最も引用されたアプリケーション領域。 私はこのライブラリで少しでもプレイできる他の例やエクササイズをお勧めしますか?

    0

    1答えて

    これはScalaのタイプ消去の例ですか? (None: Option[Int]) == (None: Option[String]) // true