我使用的是Scala 2.11.0-M5.
我需要找到Scala类/类型的字段(vars或val成员)以及我需要找到类/类型的每个字段.
到目前为止,我已经能够获得现场成员,但是一旦我有了成员,我就无法弄清楚如何获得成员的类型.
scala> class Account {
var name: String = null;
var accountNumber: String = null;
} | | |
defined class Account
scala> import reflect.runtime.universe._
import reflect.runtime.universe._
scala> for (m <- typeOf[Account].members.filter(m => !m.isMethod)) {
| println(m)
| // ??? how do I get the member's type ????
| }
variable accountNumber
variable name
Run Code Online (Sandbox Code Playgroud)
你可以使用typeSignature:
scala> typeOf[Account].members.filter(!_.isMethod).foreach(
| sym => println(sym + " is a " + sym.typeSignature)
| )
variable accountNumber is a String
variable name is a String
Run Code Online (Sandbox Code Playgroud)
在此上下文中,此方法将返回a reflect.runtime.universe.Type.
| 归档时间: |
|
| 查看次数: |
2680 次 |
| 最近记录: |