//fix this/ Javaコードの間違いをさがせ!
このシリーズは、あなたのコーディング・スキルを試すコーナーです。毎号オラクルのJavaエバンジェリストたちが、Javaコードに関する難問を出題し、正解と解説を掲載します。是非、毎号チャレンジして貴方のコーディング能力の向上にお役立て下さい。
Articles
Java
Java技術関連記事
Fix This
このシリーズは、あなたのコーディング・スキルを試すコーナーです。毎号オラクルのJavaエバンジェリストたちが、Javaコードに関する難問を出題し、正解と解説を掲載します。是非、毎号チャレンジして貴方のコーディング能力の向上にお役立て下さい。
ジェネリクスが Java に追加されたのは比較的最近(Java SE 5 から)であるため、その使用法は必ずしも明確ではありません。
Sample クラス内で修正すべき個所はどこですか?
import java.util.ArrayList;
import java.util.HashMap;
public class Sample{
public 〈T〉 void setArrayList(ArrayList〈T〉 arrayList, T t){
}
public 〈T〉 void setArrayList(ArrayList arrayList, Object obj){
}
public 〈T extends HashMap〈K,V〉〉 void setArrayList(ArrayList〈T〉 arrayList){
}
}
上記のコードの正しい修正方法を選んでください。
1) setArrayList という名前のメソッドを 3 つ宣言することはできないので、最後のsetArrayList メソッドを削除する。
2)型パラメータ T は HashMap
正解は 4)(最初の 2 つのメソッドのうちのどちらかを削除し、3番目のメソッドに型パラメータ K および V を追加する)です。
Sample 内のメソッド setArrayList(ArrayList