Given:
public class Test {
public static void main(String[] args) {
try{
String[] arr = new String[4];
arr[1] = "Unix";
arr[2] = "Linux";
arr[3] = "Solarios";
for(String var:arr){
System.out.print(var + " ");
}
}catch(Exception e){
System.out.print(e.getClass());
}
}
}
What is the result?
A.
Unix Linux Solaris
B.
null Unix Linux Solaris
C. Class java.lang.Exception
D. Class java.lang.NullPointerException
題解
第8行程式執行後,arr字串陣列所參考到的陣列物件內容為「{null, "Unix", "Linux", "Solarios"}」,這裡比較會有問題的是索引0那個位置的null。在Java中,若「+」運算子的運算元其中至少由一個是字串(物件)型態的話,會進行字串連接運算,null在此時會自動轉成「null」字串。