8

コンセプトに頭を悩ませています。ArrayList<String>a をList(or )に変換しようとしてList<String>いますが、キャスト例外が発生し続けます。はい、文字列配列をリストに変換するコードを見ましたが、これは別のシナリオだと思います。私の関連コードはここにあります。宣言はGWTを使用しているためであり、静的および最終としていくつかのものを宣言する必要があることに注意してください...

private static List<String> values;
Ioma.dataservice.getPendingOrders(new AsyncCallback<ArrayList<Order>>(){
    @Override
    public void onFailure(Throwable caught) {
        // TODO Auto-generated method stub
    }
    @Override
    public void onSuccess(ArrayList<Order> result) {
        ArrayList<String> orderNumbers = new ArrayList<String>();               
        //problem here, cannot cast arraylist<string> to list string for some reason? idk. SO it maybe?
        for(int i=0;i<result.size();i++){
            System.out.println("ordernumber: " + result.get(i).getOrderNumber());
            System.out.println("arraysize: " + result.size());
            orderNumbers.add(Integer.toString(result.get(i).getOrderNumber()));                 
        }
        for (int i=0; i<orderNumbers.size();i++){
            values.add(orderNumbers.get(i));
        }
        cellList.setRowData(values);
    }

});

基本的に、リストを入力として必要とする cellList を作成しようとしています。DBクエリから注文のarrayListを取得し、反復して注文番号を引き出してarrayListに入れ、それをリストに変換してcellListで使用します。なぜ私がこれを行うことができないのか、適切な方法はどうあるべきかを誰かが説明できますか?

4

4 に答える 4

20

an がインターフェイスであるaをArrayList実装して以来、あなたが抱えている問題がわかりません。ListList

この行を変更できます

ArrayList<String> orderNumbers = new ArrayList<String>(); 

に:

List<String> orderNumbers = new ArrayList<String>();
于 2013-04-23T20:18:02.783 に答える
5

インターフェイスを実装しているため、AnArrayList<anything>は既にです。キャストは必要ありません。List<anything>ArrayListList

于 2013-04-23T20:16:18.373 に答える
1

java.util.Listはインターフェースであり、ArrayList<E>すでに実装されているため、何もキャストする必要はありません

于 2013-04-23T20:17:07.707 に答える