List
Drawables
またはStrings
(画像のURLを表す)のいずれかで表示できるメソッドがAndroidアプリにあります。メソッド内の2つの汎用リストパラメータの1つ
2つのコンストラクタを作成しようとしましたが、タイプ消去エラーが発生しました。今私は一般的な引数を使用して、そのようにURLを表すStringであることをメンバでチェックしています。別のケースでは、それがDrawablesのリストであると仮定します。このようなもの:
setImages(List<?> images) {
this.images = images;
if (String.class.isInstance(images.get(0))) {
isImageUrl = true;
}
}
これを行う方法はありますか、何とか型の安全性を維持しますか?
タイプ消去... –
画像が異なる方法で設定されている場合は、常に異なるメソッド名を使用することができます。たとえば、次のようになります。 'setImages(List images)'と 'setImagesFromStrings(List images)' –
これは実際にはかなり良い考えです。なぜ私はそれを考えなかったのですか?私は実際にコンストラクタでこれを使用していますので、ダミーのパラメータを使用してオーバーロードします。型安全性の問題を解決しました。 –