Wie teilt man IDEA / Studio mit, dass die Nullprüfung durchgeführt wurde?
Ich entwickle mit Android Studio / IntelliJ IDEA.
Ich habe die Inspektionsprüfung "Konstante Bedingungen und Ausnahmen" aktiviert, die eine Warnung anzeigt, wenn ich eine NPE riskiere, wie z.
String foo = foo.bar(); // Foo#bar() is @nullable
if (foo.contains("bar")) { // I'm living dangerously
...
}
In meinem Code ist Folgendes enthalten:
String encoding = contentEncoding == null ? null : contentEncoding.getValue();
if (!TextUtils.isEmpty(encoding) && encoding.equalsIgnoreCase("gzip")) {
inputStream = new GZIPInputStream(entity.getContent());
} else {
inputStream = entity.getContent();
}
Hier ist der Quellcode vonTextUtils#isEmpty(String)
:
/**
* Returns true if the string is null or 0-length.
* @param str the string to be examined
* @return true if str is null or zero length
*/
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
Ich riskiere keine NPE, weilTextUtils#isEmpty(String)
würde zu a zurückkehrennull
Zeiger.
Allerdings bekomme ich immer noch die kleinenMethod invocation 'encoding.equalsIgnoreCase("gzip")' may produce 'java.lang.NullPointerException'
Warnung, die ärgerlich sein kann.
Ist es möglich, diese Prüfung intelligenter zu gestalten und die NPE-Warnung zu ignorieren, wenn bereits eine Nullprüfung durchgeführt wurde?