从Java调用Scala单例方法可以通过以下步骤实现:
object Singleton {
def method(): Unit = {
// 在这里编写你的方法逻辑
}
}
Class.forName
方法获取Scala对象的Class对象,然后使用getMethod
方法获取方法的引用,最后使用invoke
方法调用该方法。import java.lang.reflect.Method;
public class JavaClass {
public static void main(String[] args) {
try {
Class<?> singletonClass = Class.forName("Singleton$");
Method method = singletonClass.getMethod("method");
method.invoke(singletonClass.getField("MODULE$").get(null));
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上述代码中,"Singleton$"
是Scala对象的类名,"method"
是要调用的方法名。getMethod
方法返回一个Method
对象,然后使用invoke
方法调用该方法。
这样,你就可以从Java代码中成功调用Scala单例方法了。
请注意,以上代码仅为示例,实际情况中需要根据具体的项目结构和方法签名进行相应的调整。
技术创作101训练营
技术创作101训练营
腾讯技术创作特训营第二季第3期
第四期Techo TVP开发者峰会
云+社区技术沙龙[第1期]
第四期Techo TVP开发者峰会
Elastic 中国开发者大会
云+社区技术沙龙[第14期]
技术创作101训练营
领取专属 10元无门槛券
手把手带您无忧上云