在我的EObject中,我有一个eStorage字段,其中包含我要使用的数据。
有可能读出存储空间吗?
我尝试了下面的代码,但没有用:

doIt(EObject object) {
    object.getEStorage;
    // use the eStorage...
}

最佳答案

eStorage是私有字段的可能性。

所以,


 重新阅读EObject接口的Javadoc和/或您正在使用的EObject的特定实现的Javadoc。您可能会找到一种提供所需数据的方法。


通过反射访问私有字段



try {
    Field f = object.getClass().getDeclaredField("eStorage");
    f.setAccessible(true);
    Object theDataYouWant = f.get(object);
} catch(Exception e) {
    // Handle exception here...
}


参考:How do I read a private field in Java?

09-25 20:15