は、私はその簡略化は次のように見えます、複雑な検証システムのビットを持って、次の@NotNullを使用し、メソッド呼び出しの前に別のメソッドでnullをチェックする場合、null警告を回避する方法はありますか?
private static void mainMethod(@Nullable String startParam, @Nullable String nextParam) {
String nextStep = methodSelect(startParam, nextParam);
switch (nextStep) {
case "none":
break;
case "goFinal":
finalMethod(startParam);
break;
case "goNext":
nextMethod(nextParam);
break;
}
}
private static void nextMethod(@NotNull String nextParam) {
System.out.println(nextParam);
}
private static void finalMethod(@NotNull String startParam) {
System.out.println(startParam);
}
@NotNull
private static String methodSelect(@Nullable String startParam,@Nullable String nextParam) {
if (startParam == null && nextParam == null) {
return "none";
} if (startParam == null) {
return "goNext";
} else {
return "goFinal";
}
}
しかし、私は警告を取得するときfinalMethod()とにNextMethod()引数xのかもしれない」についての両方を呼び出すswitch文でmethodSelect()とその後のswitch文は、これらの引数がnullでないことを確認します。 これらの警告を取り除くにはどうしたらいいですか?ありがとう!
私はのIntelliJ IDEA 2016年3月4日、ジャワ8、および注釈を使用しています:
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
偉大な答えをありがとう! –