Javachild
のSwing
ライブラリからJComboBoxクラスを拡張するこのクラス(と呼びます)があります。ここで、のオブジェクトを作成し、を渡してそのオブジェクトのchild
メソッドを呼び出そうとすると、次の警告が表示されます。addItem(Object)
String
Type safety: The method addItem(Object) belongs to the raw type JComboBox. References to generic type JComboBox<E> should be parameterized.
このメソッドを呼び出す適切な方法は何ですか?child
ジェネリックではない<String>
ため、ジェネリック型でインスタンス化できませんchild
。他にこれを行う方法がわかりません。どんな助けでもいただければ幸いです。
PS。の内容を変更することchild
はできません。
あなたが望むのは、あなたの子クラスをJComboBox<String>
だけでなく、の子にすることですJComboBox
。これにより、ポップアップの小さな警告が停止します。
例:
public class Child extends JComboBox<String>{
}
これを行うと、すべての汎用メソッド、フィールドなどがであり、String
ではなくなりますObject
。
編集:
子クラスは変更できないとおっしゃっていましたね。これは物事をかなり難しくします。
これを行う簡単な方法は実際にはありません。回避策を実行しても、最終的にはこの警告が表示されます。あなたの1つのオプション(私が見ることができる)は@SuppressWarnings("unchecked")
、警告を生成するコードの上に注釈を使用するために使用することです。これにより、警告が表示されなくなります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加