2012-02-21 18 views
4

私は、次の4本のラインとEclipseでの問題を持っているそれぞれの4つのファイルに広がっ:インターフェース:I <String>とI <String>

public interface I<T> {} 

public interface ISpecial<T> extends I<T> {} 

public class Base implements I<String> {} 

public class Special extends Base implements ISpecial<String> {} 

Eclipseの私に語った(と私と彼らのワークスペースにインポート同じ、少し複雑なプロジェクト)

The interface I cannot be implemented more than once with different arguments: I<String> and I<String>

を有する他の少数の人々のどれだけ

これは数日前に私がチェックしてインストールしたEclipseアップデート(何ヶ月もやっていなかった)を修正し、「Javaコンパイラ」設定ダイアログの「エラー/警告」設定のいくつかを変更した私はこれらの変更のいずれかのせいであるかどうかわからないが、私は以来、「警告」と「エラー」可能性があり、すべてを切り替えていると問題が解決しない。)

を私は巧みことをEclipseに提出したいと思います<String><String>とは異なる引数ではありませんが、ここで何か不足しているかどうか、または分からないのか分かりません。

更新:(1.7から)1.5にJDKコンパイラー準拠レベルを設定した後の問題はなく、それは元々発生した、より複雑なプロジェクトでは、離れた(上記のコードで)私が作成したテストプロジェクトで行ってきました。前者では、コンプライアンスレベルを1.6または1.7に設定しても問題は戻ってこなかったので、元の問題自体を解決することなく、最小限の例で問題を再現することはできなくなりました。

+0

これをEclipse Indigo 3.7.0でテストしたところ、問題なくコンパイルできました。それらの4つの単一行ファイルだけで空白のプロジェクトを作成しようとしましたか? – tom

+0

Eclipse 3.7でcharmのように動作します – mprabhat

+0

両方ともjava.util.Stringですか? eclipseと.eclipse(user dir)フォルダを削除してみてください。同じことを別の文脈で書き直してみてください。多分それが助けになるでしょう。 – JMelnik

答えて

0

通常、このような警告/エラーには、競合するクラスの完全修飾名は記載されていません。あなたのクラスパスには2つの "String"クラスがあり、 "Base.java"は最初のものをインポートし、 "Special.java"は2番目のものをインポートすることが可能です。インポートをチェックしてください:おそらくjava.lang.Stringと、別の実装からのものです。

関連する問題

 関連する問題