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

最佳答案

在此之前是否初始化了strSet1strSet2?如果它们为null,则会得到一个NullPointerException

*编辑*

您不能在.append()的变量上调用null(或任何其他方法)。将它们初始化为:

StringBuffer strSet1 = new StringBuffer();
StringBuffer strSet2 = new StringBuffer();

09-13 08:07