※ 引述《ldg (ldg)》之銘言:
: 歸納出這樣的結論:
: 就是要開一個reference variable陣列
: 一定要開多少用多少
: 例如需要n個reference variable
: 不可以貪圖coding辨識方便
: 而這樣設定reference[] array=new reference[n+1];
: 讓index從1到n
: 請問這樣是正確嗎?
: 回個文跟小弟說說吧
: 因為已經被這訊息搞了整晚 Orz
nullPointerException的用意
是要你在存取的時候,一定要先初始化過那個元素。(基本資料型態除外。)
比方說今天是 int[] k=new int[100];
k[1]=5 ; //沒問題 因為int會給定初值0
但是今天如果是
class Person{
int age;
Person(){
age=0;
}
Person(int k){
age=k;
}
public int getAge(){
return age;
}
public void setAge(int k){
age=k;
}
}
Person[] k=new Person[100];
k[2]=new Person(); //初始化 k[2]
k[2].setAge(5); //ok! 因為k[2]已被初始化
k[1].setAge(5); // error: k[1]尚未被初始化 處於null狀態,
會產生nullPointerException。
--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.27.68