Как мне исправить неоднозначный метод? - PullRequest
1 голос
/ 29 сентября 2019

При компиляции я получаю сообщение

error: Ambiguous getter for Field(element=flagTest, name=flagTest,
type=boolean, affinity=INTEGER, collate=null, columnName=flagTest,
defaultValue=null, parent=null, indexed=false, nonNull=true).

Код объекта:

@Entity
public class MyEntity {

    @PrimaryKey(autoGenerate = true)
    private long id;

    boolean flagTest;


    public long getId() {
        return id;
    }

    public void setId(long dummyid) {
        this.id = dummyid;
    }

    public boolean getFlagTest() {
        return flagTest;
    }

    public boolean isFlagTest() {
        return flagTest;
    }
}

1 Ответ

1 голос
/ 29 сентября 2019

Это говорит о том, что комната не знает, какой метод использовать для получения значения flagTest .Он имеет выбор между getFlagTest и isFlagtest .

Если вы хотите, чтобы оба метода были доступны, вы можете использовать аннотацию @Ignoreуказать комнате игнорировать один (не важно, какой именно).

например,

@Entity
public class MyEntity {

    @PrimaryKey(autoGenerate = true)
    private long id;

    boolean flagTest;


    public long getId() {
        return id;
    }

    public void setId(long dummyid) {
        this.id = dummyid;
    }

    @Ignore
    public boolean getFlagTest() {
        return flagTest;
    }

    public boolean isFlagTest() {
        return flagTest;
    }
}
  • обычно is???? используется для логический 'dпоскольку значение может быть только истинным или ложным, следовательно, метод getFlagTest предоставил аннотацию.
...