如何在Groovy类中“隐藏”metaClass属性

时间:2009-05-05 16:21:51

标签: reflection groovy metaclass

我正在创建一些简单的groovy类,例如

class Person {
    int age
    String name
}

正在Java方法中使用,该方法依赖于反射来提取对象属性,例如年龄和名字。问题是metaClass也显示为属性。不能选择更新Java方法以忽略此属性。我已经尝试将metaClass属性设置为null但这不起作用。

2 个答案:

答案 0 :(得分:1)

如果您正在使用Java和Groovy中的这些类,为什么不在Java中创建POJO而不是Groovy。 我知道这不能回答你的问题但是很高兴知道为什么决定将Groovy用于POJO

答案 1 :(得分:0)

在创建过程中,MetaClass会为Groovy类注入。恕我直言,我认为你不能把它设置为Null。您调用的setMetaClass方法仅将您在类上设置的任何自定义元类设置为Null,而不是在构造期间注入的自定义元类。