So ändern Sie eine Liste Wert während des Debuggens in IntelliJ
Brauche ich eine variable ändern, während eine Anwendung zu Debuggen. Bis jetzt war es nur grundlegende Variablen, die könnte direkt eingestellt werden. Jetzt muss ich einen array so, dass isEmpty()
gibt true zurück;
ArrayList<String> someList = new ArrayList<String>;
someList.add("1");
...
if(someList.isEmpty()){ //break point
//need to enter here
}
In der intellij-debugger sehe ich:
someList={ArrayList@4271} size=1
Ich nutzte die "setValue" - Methode den debugger und ausprobiert: new ArrayList<String>()
oder someList = new ArrayList<String>()
die Ergebnisse in
someList={ArrayList@4339} size=0
Allerdings, wenn ich weiterhin bekomme ich eine NullPointerException, wenn die isEmpty() aufgerufen wird. Also meine Frage: Wie kann ich Spritzen ein leeres ArrayList-ohne eine NPE?
Den text der NPe ist: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.isEmpty()' on a null object reference
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versuchen, verwenden Sie die "Evaluate expression" während debug ("Alt + F8" unter Windows) ?
In diesem Fenster können Sie schreiben :
oder
Werden und es sollte den trick tun.
Assignments are not expressions, and only expressions are allowed in this context
Stoppen Sie den Haltepunkt in
if(someList.isEmpty())
drücken Sie ALT + F8 (evaluate expression), TypsomeList.clear()
drückenEvaluate
und gehen Sie einfach auf Debuggen. Jetzt wird es definitiv geben Sie die if-Bedingung.Habe ich dieses Problem, aber ich bin mit Kotlin,
was Sie tun können
(someList as ArrayList<*>).clear()