获取类的类名

托马斯·凯勒

来自 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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章