来自 Java / Kotlin 的 Groovy 初学者,如何获取我的类的(匿名)实现的类名?
失败的尝试:
abstract class Foo {
String name() { this.class.simpleName }
}
abstract class Foo {
String name() { return this.class.simpleName }
}
abstract class Foo {
String name() { return getClass().getSimpleName() }
}
abstract class Foo {
String name() { this.metaClass.classNode.nameWithoutPackage }
}
所以显然我似乎给了一些类实例一个默认名称。我想“好吧,如果类名不起作用,让我们尝试单独命名”:
abstract class Foo {
private final AtomicInteger counter = new AtomicInteger(0)
String name() { "number " + this.counter.incrementAndGet() }
}
但这也不起作用,因为counter is not a property of groovy.lang.Binding
.
这一切都是在我尝试编写的 Jenkins 管道的背景下进行的……为什么这么难?
你可能想要这个...
abstract class Foo {
String name() { this.class.name }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句