-2

Listこの質問がばかげている場合は事前にお詫び申し上げますが、現在、型のオブジェクトを解析するためのループを実装する必要がある何かに取り組んでいますMenuItem。ループ内では、オブジェクトの名前をString変数に格納する必要があります。

ただし、商品が何個入ってListいるか分からないため、variables必要な個数がわかりません。どうにかして、ループ内でオンザフライで変数を宣言できますか? 以下は私の現在のコードです:

for(int i = 0; i != orderItems.size(); i++){
                MenuItem item = orderItems.get(i);
                String itemName = item.getName();
            }

上記のループの理由は、終了時にすべての変数をポスト リクエストitemName経由でデータベースに送信したいためです。Httpしたがって、次のようなパラメーターとして渡すことができます。

    new RequestTask().execute(url, itemName1, itemName2, itemName3);

どんな助けでも大歓迎です!

4

3 に答える 3

2

varargs を使用して、変数のリストを受け入れるメソッドを指定できます。最終的には、そのような変数の配列を受け入れるメソッドにすぎません。だからあなたはで終わるでしょう

  new RequestTask().execute(url, items);  // items is String[]

文字列の数がわからない場合はa priori、それらをリストに格納します。次に、リスト内のアイテムの数を取得し、十分な大きさの配列を作成して埋めることができます。toArrayまたは、それを行う方法を使用してください。

于 2013-02-22T22:26:25.343 に答える
1

これは、不明な値をループするときに常に使用する ArrayList 構文です。次に、さらに処理するために、それを通常の配列に変換します。

List<String> itemNameList = new ArrayList<String>();
for(int i = 0; i != orderItems.size(); i++) {
    MenuItem item = orderItems.get(i);
    itemNameList.add(item.getName());
}
String[] itemNameArray = new String[itemNameList.size()];
itemNameList.toArray(itemNameArray);
于 2013-02-22T22:34:02.340 に答える
0

それらをある種のリストに入れます。

    ArrayList<String> itemNameList = new ArrayList<String>();
    for(int i = 0; i != orderItems.size(); i++){ 
         MenuItem item = orderItems.get(i);
         String itemName = item.getName();
         itemNameList.add(itemName);
    }
于 2013-02-22T22:29:00.233 に答える