1

私は機能を持っています。

helloworld(list<object> names)

私は次のコードを持っています:

List<CustomClass> newMe = new ArrayList<CustomClass>();

今、私がに渡したいnewMe場合helloworld(newMe);。これは、ダウン キャスティングであるため不可能です。どうすればこの問題を克服できますか? リストを (オブジェクト) にダウンキャストしてから、アップキャストしようとしますか? 別の方法はありますか?例をいただければ幸いです。

ありがとう

4

2 に答える 2

2

の定義をhelloworldに変更

public void helloworld(List<?> names) {
    //method implementation...
}

メソッドが list パラメーターから要素を追加または削除できないことを考慮してください。

于 2014-11-18T16:46:53.987 に答える
0

を使用するだけですか?パラメータリストのジェネリック型として。例:

public class Foobar {
    public static void helloworld(List<?> names) {

    }
    public static void main(String[] args) {
        List<CustomClass> newMe = new ArrayList<>();

        helloworld(newMe);
    }
}
于 2014-11-18T17:06:55.057 に答える