房间找不到实体的设置方法

时间:2019-03-23 23:54:57

标签: java android android-room

房间找不到在父类中定义的setType方法。在编译过程中无法找到设置器来解决字段错误。

家长班

react-dom

儿童班

public class Data {
    private int type = -1;
    public Data() {

    }

    public int getType() {
        return type;
    }

    public Data setType(int type) {
        this.type = type;
        return this;
    }
}

2 个答案:

答案 0 :(得分:0)

通常,setter不会返回值。

将您的setType()方法更改为:

public void setType(int type) {
      this.type = type;
}

P.S。显然,这里返回Data对象的相同实例是没有用的,因为您正在该对象上调用方法并且已经拥有该方法。

答案 1 :(得分:0)

如果要保留构建器模式,可以考虑使用内部静态类进行以下操作(您不需要空的构造函数,它是隐式添加的):

public class Data {
    private int type = -1;

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public static class Builder {
        private Data data = new Data();

        public Builder setType(int type) {
            data.setType(type);
            return this;
        }

        public Data build() {
            return data;
        }
    }     
}

现在,您可以执行以下操作来创建数据类:

Data data = new Data.Builder()
        .setType(10)
        .build();