我需要在调试应用程序期间更改变量。到目前为止,还只是可以直接设置的基本变量。现在,我需要清除一个数组,以便isEmpty()
返回true。
ArrayList<String> someList = new ArrayList<String>;
someList.add("1");
...
if(someList.isEmpty()){ //break point
//need to enter here
}
在intellij调试器中,我看到:
someList={ArrayList@4271} size=1
我使用了调试器的'setValue'方法并尝试过:new ArrayList<String>()
或someList = new ArrayList<String>()
导致
someList={ArrayList@4339} size=0
但是,如果我继续,则在调用isEmpty()时会收到NullPointerException。所以我的问题是:如何在没有NPE的情况下注入一个空的ArrayList?
NPe的文本为: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.isEmpty()' on a null object reference
您是否尝试在调试过程中使用“求值表达式”(在Windows上为“ Alt+ F8”)?
在此窗口中,您可以编写:
someList.clear();
或者
someList = new ArrayList<String>();
它应该可以解决问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句