Given:



What is the result?

A.

Java 100

B.

java.lang.string@java.lang.Integer@

C. A compilation error occurs. To rectify it, replace line n1 with:

D. A compilation error occurs. To rectify it, replace line n2 with:

題解

type變數有使用到泛型,指定的型態為String,所以T為String。type1變數則沒有指定泛型,所以T可當作是Object。

type1物件的get方法,可以傳入型態為Object的參數,因此所有型態的資料都可以傳入,當然也包括整數物件(Integer)了。

「+」運算子若其中一個的運算元為字串(物件)時,作為字串連接的功用。物件會使用其「toString」方法來取得字串。所以這題會輸出「Java 100」。