[解決済み】「型パラメータTが型Tを隠している」警告のトラブルシューティング
2022-02-01 08:22:57
質問内容
eclipse(最新版)で以下のコードを実行すると警告が表示されます。
public interface A<T> extends B<T> {
public T getObject();
}
A'の'T'のところに警告が表示され、次のように読み取れます: "型パラメータTは型T"を隠しています。
不思議なのは、以下のコードでは、エラーも警告も発生しないことです。
public interface A extends B<T> {
public T getObject();
}
しかし今度は、A を拡張する際に、どのようなタイプの
T
があります。
完全に混乱しています。なぜこのようなことが起こるのか、どなたかご存知でしょうか?
どうすればいいですか?
という名前のクラスやインターフェイスがどこかにありませんか?
T
を使用しているのか、それとも
T
を型パラメータとしてではなく具象型名として指定すること(つまり、どこか他の場所、例えば囲んでいるクラスで
T
は型パラメータ)?私はこれであなたの問題を再現することができます。
class T { // A concrete type T
}
interface B<T> { // warning: The type parameter T is hiding the type T
}
interface A<T> extends B<T> { // warning: The type parameter T is hiding the type T
T getObject();
}
クラスを削除すると
T
と表示され、消えてしまいます。
関連
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】Eclipseで「パッケージエクスプローラー」ビューが見つからない
-
[解決済み] Javaでパラメータの型の横にある3つの点は何を意味するのですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] 汎用型Tのクラスインスタンスを取得する方法を教えてください。
-
[解決済み] チェックされていないキャストの警告に対処するにはどうすればよいですか?
-
[解決済み】array[idx++]+="a "は、Java 8ではidxを1回増やすが、Java 9と10では2回増やすのはなぜか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】"実引数リストと形式引数リストの長さが異なる"
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】Javaの".class expected "について
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?