工作随笔 |
您所在的位置:网站首页 › Java获取post返回值 › 工作随笔 |
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来。最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法、传递参数和获取返回值。 示例Groovy代码如下: # TestGroovy.groovy 定义testC方法,传入3个参数,返回处理后的数据 def testC(int numA, int numB, int numC) { "传入参数:" + numA + numB + numC + "计算之和为:" + (numA + numB + numC)# groovy会默认返回最后一行的值}示例Java代码如下: import java.io.File; import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyObject; public class JavaUseGroovyTest { static Object runWithGroovyClassLoader() throws Exception { // 获取当前资源路径,用于指定Groovy脚本 String base_path = JavaUseGroovyTest.class.getResource("/").toString().split("file:/")[1]; // 使用当前线程的context创建GroovyClassLoader // parseClass()方法将文件解析成可以运行的class Class aClass = new GroovyClassLoader().parseClass(new File(base_path + "TestGroovy.groovy")); // 创建此 Class 对象所表示的类的一个新实例 GroovyObject groovyObject = (GroovyObject) aClass.newInstance(); // groovy 方法的入参,多个参数从左到右书写,无入参保持为空new Object[]{} Object[] objects = new Object[]{1, 3, 2}; // 调用方法 testC 并获得返回值(如果后者存在) return groovyObject.invokeMethod("testC", objects); } public static void main(String[] args) throws Exception { // 将返回值打印到控制台 System.out.println(runWithGroovyClassLoader()); } }输出结果: 传入参数:132计算之和为:6
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |