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