groovy770_bug.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 48 行

GROOVY
48
字号
/**
 * @version $Revision: 2289 $
 */

package groovy.bugs

class Groovy770_Bug extends GroovyTestCase {
     
    void testBug() {
        def a = new Pair(sym:"x")
        def b = new Pair(sym:"y")
        def c = new Pair(sym:"y")

        def l1 = [a, b]
        def l2 = [c]
        println (l1)
        println (l2)
        println (l1 - l2)
        assert l1 - l2 == l1


        a = new CPair(sym:"x")
        b = new CPair(sym:"y")
        c = new CPair(sym:"y")
        l1 = [a, b]
        l2 = [c]
        println (l1)
        println (l2)
        println (l1 - l2)
        assert l1 - l2 == [a]
    }
}

import java.util.*

class Pair {
  String sym
}

class CPair implements Comparable {
  public String sym
  int compareTo(Object o) {
      return sym.compareTo(((CPair) o).sym);
  }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?