【发布时间】:2014-02-27 18:05:39
【问题描述】:
是否有注释让 Groovy 将 toString() 调用委托给该类的特定 String 字段?
@Delegate 转换不会拦截 toString() 方法调用:
@TupleConstructor
class Person {
@Delegate
String name
}
println new Person('bdkosher') // prints "Person@62aa4b4b" instead of "bdkosher"
@ToString 方法也不是我想要的,因为它位于类级别,需要指定字段名称,并且在输出中包含类名称,例如
import groovy.transform.*
@ToString(includes='name')
@TupleConstructor
class Person {
String name
}
println new Person('bdkosher') // prints "Person(bdkosher)"
【问题讨论】:
标签: groovy delegates annotations