たとえば、 がある場合、であるclass NewClass(val a: Seq[String])型パラメーターの実際の型を取得できます。classOf[NewClass].getDeclaredFields.head.getGenericType.asInstanceOf[java.lang.reflect.ParameterizedType].getActualTypeArguments.head.asInstanceOf[Class[_]]java.lang.String
ただし、型パラメーターが (Java では許可されていないが、Scala では許可されている) などのプリミティブ型である場合class NewClass(val a: Seq[Int])、同じアプローチを使用しても のみが生成されjava.lang.Objectます。それが実際にInt一般的なものではないことを知る方法はありますjava.lang.Objectか?