Null pointer access: The variable can only be null

2020-07-17 15:59发布

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)

why this code gives null pointer exception

warning: Null pointer access: The variable strSet1 can only be null at this location Null pointer access: The variable strSet2 can only be null at this location

1条回答
你好瞎i
2楼-- · 2020-07-17 16:38

Are strSet1 and strSet2 initialized before this? If they are null, you'd get a NullPointerException.

* EDIT *

You cannot call .append() (or any other method) on a variable that is null. Initialize them as:

StringBuffer strSet1 = new StringBuffer();
StringBuffer strSet2 = new StringBuffer();
查看更多
登录 后发表回答