使用字符串引用在Scala中获取静态final字段

时间:2018-12-18 21:07:17

标签: scala reflection

假设我有一个完全合格的参考字符串:

val location = "org.path.to.some.field"
val foo = getFieldFromString(location)

我希望获得与我相同的值:

import org.path.to.some.field

我该怎么做?使用反射有意义吗?

1 个答案:

答案 0 :(得分:0)

我认为这可能是实现此目的的方法:

Class.forName("org.path.to.some").getField("field").get(null)

一个问题是,您确实需要知道字段的类型才能使此字段返回AnyRef以外的其他内容。 get(null)是因为我们不需要实例来获取静态字段。