过载'输入'运算符

时间:2011-01-31 12:29:11

标签: groovy operator-overloading

在Groovy中,我可以编写如下代码:

assert 1 in [1,2,3]
assert "foo" in "foo"
assert 2 in 1..4

有没有办法可以为我自己的类重载'in'运算符?如果是这样,我应该实施哪种方法?

谢谢!

2 个答案:

答案 0 :(得分:4)

您需要重载isCase方法,即:

class Example {
  def isCase( o ) {
    true
  }
}

def c = new Example()
println( "woo" in c )

打印true

答案 1 :(得分:1)

"in" operator基于contains()方法。