gpt4 book ai didi

java - 我如何从 Java 反射性地获取 Scala 对象的字段?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:34:07 29 4
gpt4 key购买 nike

我有以下对象:

 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com