s = 'S'
s++
println(s)
由于s是一个字符串是不可变的,为什么上面的代码行的输出是T?
它是否将s ++解释为s = s.next()?
它是否将s ++解释为s = s.next()
是。要在groovy中重载运算符,您需要根据language documentation实现特定命名的方法
所有(非比较器)Groovy运算符都有一个相应的方法,您可以在自己的类中实现。唯一的要求是您的方法是公共的,具有正确的名称,并具有正确的参数数量。
++
的方法是next()