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」字串。