übergebe. Der Aufruf dieser Methode und das Übergeben von null im zweiten Parameter stürzt ab.Die Anwendung stürzt mit der Nullzeigerausnahme ab, wenn ich den Nullwert an die Methode
App.revertMessage(actContext, null, name);
public static void revertMessage(final Context ctx, final Item item,
final String name) {
logite("revertMessage()", "item " + item == null ? "" : item.code // it is crashing here with null pointer exception
+ " name : " + name == null ? "" : item.name);
}
public static void logite(String tag, String msg) {
tag = "sTrack " + tag;
Log.e(tag, msg);
}
Item-Klasse ist
public class Item {
public String code, name, packName;
public Item(HashMap<String, String> data) {
code = data.get(XT.ITEM_CODE);
name = data.get(XT.ITEM_NAME) + "[" + code + "]";
packName = data.get(XT.PACK_NAME);
}
/**
* Copy constructor
*
* @param item
*/
public Item(Item item) {
code = item.code;
name = item.name;
packName = item.packName;
}}
Wenn i Nullwert an die Methode übergeben es abstürzt, ich weiß nicht, warum meine Logik falsch ist oder was. Bitte helfen Sie mir bei der Lösung dieses Problems.
Mögliche Duplikat [Was für eine Nullpointer ist, und wie kann ich es beheben?] (Http://stackoverflow.com/questions/218384/ what-is-a-nullpointerexception-and-wie-do-i-fix-it) – GhostCat
@GhostCat das ist richtig -> item == null? "": item.code –
Im Allgemeinen ist das eine gültige Idee. Trotzdem könnten Sie dafür eine kleine Hilfsmethode erstellen; diese wiederholten?: Ausdrücke machen es einfach sehr schwer, den Ausdruck als Ganzes zu lesen. – GhostCat