gpt4 book ai didi

java - 确定 Groovy 表达式的返回类型

转载 作者:太空宇宙 更新时间:2023-11-04 07:59:05 26 4
gpt4 key购买 nike

我有一些带有 Groovy 表达式的字符串。我需要:

  1. 执行java.lang.String中包含的Groovy表达式
  2. 获取表达式结果作为对象
  3. 确定结果对象的类型

这可能吗?另外,如果我不使用 Groovy 的动态功能,我是否能够“静态”确定表达式的类型,即在编译时而不执行表达式本身。

谢谢

最佳答案

一个非常简单易行的方法是使用 Eval class 。计算指定的 String 表达式并返回结果。表达式的类型结果是Object

def object = Eval.me('1 + 1')

您可以使用 getClass() 方法获取对象的类,或者简单地:

assert object.class == Integer

在此示例中,不可能在编译时确定静态类型检查。

@groovy.transform.TypeChecked
void test() {
Integer object = Eval.me('1 + 1')
assert object.class == Integer
}

[Static type checking] - Cannot assign value of type java.lang.Object to variable of type java.lang.Integer

关于java - 确定 Groovy 表达式的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13118577/

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