Groovy,区别在哪里?u、 测试!=(美国测试)

Groovy,区别在哪里?u、 测试!=(美国测试),groovy,metaprogramming,Groovy,Metaprogramming,区别在哪里 def foo=u.test+“”+u.test工作正常,其中def foo=(u.test)+++(u.test)返回一个编译错误,如下所示: unable to resolve class u.test ... def foo = (u.test)+" "+(u.test) ^ 1 error 在本例中,u是我编写的一个类,它实现了map接口。原因是我没有在所有依赖项中使用groovy。在2.5.13中包含了一些类,这些类后来(3.0.

区别在哪里
def foo=u.test+“”+u.test
工作正常,其中
def foo=(u.test)+++(u.test)
返回一个编译错误,如下所示:

unable to resolve class u.test
...
def foo = (u.test)+" "+(u.test)
          ^

1 error

在本例中,
u
是我编写的一个类,它实现了map接口。

原因是我没有在所有依赖项中使用groovy。在2.5.13中包含了一些类,这些类后来(3.0.5)在其他包中分离。

可能是因为
(类)
用于类型转换。您使用的是Groovy的哪个版本?@Michaelester 3.0.5将我的Groovy版本更改为2.5.13,现在对我来说,这段代码同时适用于groovy 3.0.5和2.5.13-也许你不小心忘记了第一个加号
(u.test)“+(u.test)
将尝试将“”转换为类u.test,从而导致您发布的错误