はい、問題は 1.5 以降では解消されます。質問が完全に解決されていないように感じますが、誰かがこの質問に出くわした場合に備えて、2 セントを追加します。それは主に質問のこの部分についてです:
一般的な配列リストは作成しませんでした。文字列の配列リストを作成しました。
言及されたエラーメッセージ:
> ArrayList 型はジェネリックではありません。引数 <String>でパラメーター化することはできません
> 構文エラー、パラメータ化された型はソース レベルが 5.0 の場合にのみ使用可能
これが実際に意味することは、Java 1.5 以降、型パラメーターも使用できるようになったことです (値パラメーターの使用に慣れていた場合)。JDK 1.5 ではジェネリックが導入され、型 (またはパラメーター化された型)を抽象化できます。
クラス設計者は、定義内の型について一般的である可能性があります。arrayList の実装は次のようになります。
public class ArrayList<E> implements List<E> .... {
// Constructor
public ArrayList() {...}
// Public methods
public boolean add(E e) {...}
public void add(int index, E element) {...}
public boolean addAll(int index, Collection<? extends E> c) {...}
public abstract E get(int index) {...}
public E remove(int index) {...}
...
}
ここで、EはString や Integer などの任意の型にすることができます。したがって、総称的なarrayList という名前が付けられました。
以下のように、この例で行われたオブジェクトのインスタンス化またはメソッドの呼び出し中に、ユーザーのタイプを特定できます。
ArrayList<String> list = new ArrayList<String>();
(私が間違っていなければ、これは上記の場合の混乱でした:-))
ジェネリックの使用例 (必要な場合):
// Declaring a DAO layer
public interface IMasterAbstractDao<E, I> {
public E findById(I id) {...}
public void delete(E e) {...}
public List<E> findByCriteria(Criterion criterion) {...}
}
ここで、 Eは返されるエンティティ タイプです。これは、システムで定義されたすべてのモデルBeanに使用でき、汎用になります。
お役に立てれば。
リファレンス: Java プログラミング チュートリアル - ジェネリック