我有以下对象:
package com.rock
object Asteriod {
val orbitDiam = 334322.3
val radius = 3132.3
val length = 323332.3
val elliptical = false
}
如何使用 Java 反射获取每个变量的值? 我可以通过似乎无法弄清楚如何获取字段来从对象中获取方法。 这可能吗?
Class<?> clazz = Class.forName("com.rock.Asteriod$");
Field field = clazz.getField("MODULE$");
// not sure what to do to get each of the variables?????
谢谢!
最佳答案
这个有效:
Class<?> clazz = Class.forName("com.rock.Asteriod$");
Object asteroid = clazz.getField("MODULE$").get(null);
Field orbitDiamField = clazz.getDeclaredField("orbitDiam");
orbitDiamField.setAccessible(true);
double orbitDiam = orbitDiamField.getDouble(asteroid);
System.out.println(orbitDiam);
并打印结果 334322.3
关于java - 我如何从 Java 反射性地获取 Scala 对象的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10199564/