Scala动态访问类中的字段

Soh*_*aib 2 reflection scala

考虑具有很多价值的一类

class Test {
    val a1 = "test1"
    val a2 = "test2"
    ..
    ..
    val a25 = "test25"
}
Run Code Online (Sandbox Code Playgroud)

可以编写这样的函数来访问第n个变量吗?

def getVar(n: Int, test: Test) = {
    test.("test"+n) //something like this to access the nth variable
}
Run Code Online (Sandbox Code Playgroud)

我知道可以使用集合来完成此操作,但我的问题是可以进行这种类型的反射。

Joh*_*shy 5

val field = test.getClass.getDeclaredFields.apply(n)
field.setAccessible(true)
field.get(test)
Run Code Online (Sandbox Code Playgroud)