In meiner Result
Klasse kommentierte ich mit @IntDef ersten Integer-Parameter in newInstance()
Methode wie folgt:Lint schlägt den Build mit Sicherheitsfehler "WrongConstant: Falsche Konstante" fehl. IntDef Anmerkung
public class Result {
public static final int SUCCESS = 0;
public static final int FAIL = 1;
public static final int UNKNOWN = 2;
// ...
private Result(@Status int status, Uri uri) {
mStatus = status;
mUri = uri;
}
public static Result newInstance(@Status int status, Uri uri) {
return new Result(status, uri);
}
@Retention(RetentionPolicy.SOURCE)
@IntDef({ SUCCESS, FAIL, UNKNOWN })
@interface Status {}
}
nächstes in meiner Utils
Klasse ich diese Methode aufrufen und die korrekte Konstante als Parameter übergeben. Ich stelle sicher, dass ich bestimmte Gruppe von Konstanten wie folgt verwenden:
public static Result foo() {
// ...
return Result.newInstance(Result.SUCCESS, contentUri); // line 45
}
Aber Flusen den Build mit Sicherheitsfehler
"WrongConstant: Falsche Konstante" nicht
../ .. /src/main/java/my/package/Utils.java:45: Muss einer der folgenden sein: 0, 1, 2
ich weiß, dass dieser Fehler simpl sein kann y unterdrückt. Aber ich würde gerne wissen, was mit meinem Code nicht stimmt? Oder vielleicht ist es ein anderes Problem?
Sehr seltsam, ich finde nicht einmal solche Flusen Warnung Definition –