【问题标题】:Firebase doesn't find fields inherited from super classes [duplicate]Firebase 找不到从超类继承的字段 [重复]
【发布时间】:2016-06-23 04:24:43
【问题描述】:

我有如下结构,例如:

public class Entity {
   private String name;
   ...
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
}

public class Person extends Entity {
   ...
}

我已经从旧版本升级了 Firebase SDK(在 Google 购买之前),现在我只能从该类中声明的字段中获取值。超类中的任何内容都无法访问。

每次我使用以下代码获取Person 对象时,它都不会获取Entity 中声明的字段。

dataSnapshot.getValue(Person.class);

ClassMapper:在类 com.package.Person 上找不到名称的设置器/字段

我不想在每个内部类中编写每个 getter 和 setter,这没有任何意义。一定有更好(更清洁)的方法!

【问题讨论】:

标签: java android firebase


【解决方案1】:

您需要在您的子类上设置 getter。

public class Person extends Entity {
    getName(){return this.name;}
}

【讨论】:

  • 问题是,在实际上下文中,我有 7 个字段继承自 Entity。以及扩展它的 5 个类。因此,为所有人创建 getter/setter 将是一团糟
猜你喜欢
  • 2018-07-25
  • 1970-01-01
  • 2017-09-20
  • 1970-01-01
  • 2016-03-06
  • 2021-05-14
  • 1970-01-01
  • 2018-10-27
相关资源
最近更新 更多