Eclipse Galileoで奇妙な問題があります。
Java 1.6をJREとして設定しました。このコード行で
List templates = new ArrayList ();
Eclipseの問題リストに次のエラーが表示されます。
コレクション型はジェネリックではありません。引数でパラメーター化することはできません
このプロジェクトをAntでビルドしても問題はありません。
どうすれば修正できますか? Eclipseの問題のようですが、このエラーのため、プロジェクトをIDEからコンパイル/公開できません。
グーグルからそこに着く人たちのために:問題はcryptixライブラリにありました。 Javaビルドパスから削除すると、プロジェクトは正常にコンパイルされます。
どのList
をインポートしますか? (これを見てください 2006年のスレッド )
Java.awt.List
またはJava.util.List
?
Eclipseが適切にコメントしているので、Java.awt.List
はパラメータ化されていません;)
もチェック
それ以外に、多くの問題がありました 2005年に戻って 最新のEclipse 3.1ベータがJ2SE5をサポートしていたとき、これはその後修正されました。
プロジェクトで最新のJDK6を使用してみてください。
それは遅いですが、まだ返信しています、まだ問題に直面している他の人に役立つかもしれません。私はまったく同じ問題を抱えていました。リストはutil.Listで適切でした。解決策は、ライブラリのエクスポートを注文することでした。 Mavenまたはその他のライブラリを使用している場合:
プロジェクト内->ビルドパス->ビルドパスの構成->注文とエクスポート
「JREシステムライブラリ」が「Maven依存関係」より上にあることを確認します
これでうまくいきました。
クラスリストに名前を付けましたか?つまり:
import Java.util.*;
public class List { // can't do this, name this something else.
public static void main(String[] args) {
List<Integer> l = new ArrayList<Integer>();
}
}
ねえ、私は暗号ライブラリを削除しましたが、機能しませんでした。しかし、私はJREシステムライブラリを一番上に置いてみました。本当に変。
エントリ「JREシステムライブラリ...」をプロジェクト、プロパティ、Javaビルドパス、順序、エクスポート
インポートを変更しました
import javax.swing.text.html.HTMLDocument.Iterator;
に
import Java.util.Iterator;
それは私のために働いた
例えば:
public class AClass<T extends Object>
{
public HashMap<String, String> myMap;
}
私が書いた場合:
public class BClass
{
private AClass aClass = new AClass();
public void test()
{
aClass.get("test");
//return Object class
}
}
しかし、私が書いた場合:
public class BClass
{
private AClass<?,?> aClass = new AClass<?,?>();
public void test()
{
aClass.get("test");
//return String class
}
}
時にはそれはEclipseしゃっくりであり、Eclipse -clean
さらに、すべてのプロジェクトを更新すると役立ちます。
編集
コードを次のものに置き換えると、何かが変わりますか?
Java.util.List templates = new Java.util.ArrayList();
あるいは
Java.util.List<Object> templates = new Java.util.ArrayList<Object>();
?
「import Java.util.List」を使用します
デフォルトのインポートの代わりに「import antlr.collections.List;」
また、コレクションAPIの一般的なサポートにはJRE5以上を使用します。
Javaビルドパス参照Java 1.5
または、「import Java.util.List」ステートメントを追加しようとすると、次のことがわかります
Eclipseは他のリストタイプと競合していると言っています
たとえば、com.lowagie.xx.xxx.Listなどと競合している可能性があります。これらのインポートを回避しようとします
ステートメント
import antlr.collections.List;
を削除して、 Ctr+space Java.util
を使用する
いくつかのアイデア: