ジェネリクスを使用しないで ArrayListを使用してみます。
ソースコードは以下の通り。
V501/MySystem.java(ライブラリをそのまま利用します)
V501/V501.java(あちこちに黄色線が表示されますが問題ありません)
import java.util.ArrayList;
import java.util.List;
/**
* ジェネリクスを使用しない場合。
*/
public class V501 {
/**
* メインメソッド。
* @param args 引数
*/
public static void main(String[] args) {
List months = new ArrayList();
months.add("January");
months.add("February");
months.add("March");
months.add("April");
months.add("May");
months.add("June");
months.add("July");
months.add("August");
months.add("September");
months.add("October");
months.add("November");
months.add("Decenber");
int month = MySystem.in.getInt("月を入力してください");
if(month < 1 || month > 12) {
System.out.println("入力した値は異常です。");
} else {
// ジェネリクスを使用しない場合は、明示的なキャストが必要となる
String monthName = (String)months.get(month - 1);
System.out.println(month + "月は " + monthName + "です。");
}
}
}
実行結果の例は以下の通り。
月を入力してください? 6 6月は Juneです。
ジェネリクスを使用していないため、String型への明示的なキャストが必要となっています。