我上周切换到了 Realm。 现在,我在使用反射时遇到了这个问题:
通常我会使用反射来获取字段,当可用时我会用它来替换我们的 API url f/e 中的 url 参数: blog/{blogId}/comments <- 不是实际的网址,而是示例。
代码将检查是否有名为 blogId 的字段,如果是,它将调用 getter (getBlogId) 并替换路径中的值。现在,有了 Realm ,我得到了一个“BlogRealmProxy”,它不包含我在 RealmObject 上期望的属性,它具有 INDEX_BLOGID(或类似)等字段。
仍然知道如何使用反射吗?我需要它来提供通用功能。
更新:
好吧,我找到了一种方法,通过做一些非常愚蠢的事情,还有更好的选择吗?:
Class clazz = obj.getClass();
if (clazz.getName().endsWith("Proxy")) {
clazz = clazz.getSuperclass();
}
我 100% 确定对象永远不会以 Proxy 结尾;)
最佳答案
好吧,我找到了一种方法,通过做一些非常愚蠢的事情,还有更好的选择吗?:
Class clazz = obj.getClass();
if (clazz.getName().endsWith("Proxy")) {
clazz = clazz.getSuperclass();
}
我 100% 确定我的应用程序中的对象永远不会以 Proxy 结尾;)。
关于java - 将反射与 Realm 结合使用 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30304935/