在Groovy中增加String上的运算符

问题描述 投票:1回答:1
s = 'S'
s++
println(s)

由于s是一个字符串是不可变的,为什么上面的代码行的输出是T?

它是否将s ++解释为s = s.next()?

java groovy
1个回答
5
投票

它是否将s ++解释为s = s.next()

是。要在groovy中重载运算符,您需要根据language documentation实现特定命名的方法

所有(非比较器)Groovy运算符都有一个相应的方法,您可以在自己的类中实现。唯一的要求是您的方法是公共的,具有正确的名称,并具有正确的参数数量。

++的方法是next()

© www.soinside.com 2019 - 2024. All rights reserved.