- 论坛徽章:
- 0
|
import java.util.*;
public class ChangeInClass{
public ChangeInClass(){
}
public class As{
ArrayList num;
int degree;
public As(ArrayList a,int b){
num = a;
degree =b;
}
public void addnum(String str){
num.add(str);
}
}
public void process(){
As temp = new As(null,4);
temp.addnum("hehe" ;
System.out.print(temp.num.get(0));
}
public static void main(String[] args){
ChangeInClass cc = new ChangeInClass();
cc.process();
}
}
编译通过,运行时出错
Exception in thread "main" java.lang.NullPointerException
at ChangeInClass$As.addnum(ChangeInClass.java:13)
at ChangeInClass.process(ChangeInClass.java:20)
at ChangeInClass.main(ChangeInClass.java:26)
如果把num改成int型,后面调用时也作相应修改,如
AS temp = new AS(3,4);temp.addnum(5);这样temp.num就等于8;可是用ArrayList,怎么就出错呢?这是为什么?应该怎么改,我才能像int那样修改ArrayList里面的值呢? |
|