for(int i=0;i<n;i++){
for(int j=0;j<26;j++){
if(str.charAt(i)== strChar.charAt(j) )
* strSet1.append(str.charAt(i));
}
* strSet2.append(str.charAt(i));
}
异常(exception):
Exception in thread "main" java.lang.NullPointerException
at AterSeries.main(AterSeries.java:33)
为什么这段代码会给出空指针异常
警告:空指针访问:变量strSet1仅在此位置可以为null
空指针访问:变量strSet2只能在此位置为null
最佳答案
在此之前是否初始化了strSet1
和strSet2
?如果它们为null,则会得到一个NullPointerException
。
*编辑*
您不能在.append()
的变量上调用null
(或任何其他方法)。将它们初始化为:
StringBuffer strSet1 = new StringBuffer();
StringBuffer strSet2 = new StringBuffer();