ジェネリクスを使用しないで 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型への明示的なキャストが必要となっています。