空指针访问:该变量在此位置只能为空
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)
为什么这段代码给出了空指针exception
警告:空指针访问:变量strSet1在此位置只能为空Null指针访问:变量strSet2在此位置只能为null
strSet1
和strSet2
在此之前是否strSet1
初始化? 如果它们为null,则会出现NullPointerException
。
*编辑*
您不能在null
变量上调用.append()
(或任何其他方法)。 将它们初始化为:
StringBuffer strSet1 = new StringBuffer(); StringBuffer strSet2 = new StringBuffer();