空指针访问:该变量在此位置只能为空

时间:2013-11-17 19:30:46

标签: java nullpointerexception stringbuffer

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 in thread "main" java.lang.NullPointerException
  at AterSeries.main(AterSeries.java:33)

为什么这段代码会给出空指针异常

警告:空指针访问:变量strSet1在此位置只能为null 空指针访问:变量strSet2在此位置只能为空

1 个答案:

答案 0 :(得分:8)

此前strSet1strSet2是否已初始化?如果它们为空,则会得到NullPointerException

*编辑*

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

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