2009年2月26日 星期四

第212題

Given:
3. import java.util.*;
4. public class Hancock{
5. //insert code here
6. list.add("foo");
7. }
8. }
Which two code fragments, inserted independently at line 5, will compile without warnings? (Choose two.)
A. public void addStrings(List list){
B. public void addStrings(List < String > list){
C. public void addStrings(List < ? super String > list){
D. public void addStrings(List < ? extends String > list){
答案:BC
參考:12-4-2 equals()、hashCode()方法的改寫

------------------------------------------------

使用泛型,
B 限定傳過來的list 型態為 String,
C 限定為 String 或 其父類別...至少可以用String.

D.不行是因為 限定為String得子類別, list.add("foo") 是加入String, 變成加入父類別.

沒有留言:

張貼留言