クラスでパターンマッチを行う必要があります。問題は、長い問題に合ったいくつかの問題があることです。Scala:scala.Longとjava.lang.Longのパターン一致方法
同じようにscala.Longとjava.lang.Longを処理する必要がありますが、なぜそれらの両方で宣言する必要がありますか?ここで
は一例です:
def test(typ: Class[_]) {
typ match {
case q if q == classOf[Long] => println("scala long...")
}
}
val scalaLongField: java.reflect.Field = ......
val javaLongField: java.reflect.Field = ......
test(scalaLongField.getType) // prints "scala long..."
test(javaLongField.getType) // scala.MatchError: class java.lang.Long (of class java.lang.Class)
は、インスタンスが、単にクラスを持つことなく、それらを同じに扱う方法はありますか?それはすぐに動作するはず
値がある場合のみ!私は、クラスを持っているときには、「インスタンスを持たずにクラスを処理する方法がありますか?」という質問のように、このクラスが必要です。 – maklemenz
@mklemenzあなたは、あなたが望むものに正確にあなたの例を限定するのに十分役立つでしょう。サンプルメソッドの大部分(2/3)が値を持ちますが、クラスが1つしかありません。 –
質問を編集しました – maklemenz