0

重複の可能性:
マップ内の各エントリを反復処理するにはどうすればよいですか?

私は効果なしにこの解決策に従っています:https ://stackoverflow.com/a/1835742/666468

私はこの地図を出力しようとしています:

//protected Map<String,String> getImageTagAttributes()
Image image = new Image(resource);
for (Map<String, String> foo : image.getImageTagAttributes()) {
        String key = foo.getKey();
        String value = foo.getValue();

        //output here
    }

しかし、私はこのエラーを受け取ります:配列またはjava.lang.Iterableのインスタンスに対してのみ反復できます

java.util.Iteratorもインポートしましたが、うまくいきませんでした。

ps JSTLをインストールして使用できればいいのですが、それは私の呼びかけではありません。

4

3 に答える 3

2

Imageそのクラスをどこで取得したかはわかりませんが、image.getImageTagAttributes()戻ってきた場合はMap<String, String>、この方法で試してみてください

Image image = new Image(resource);
Map<String, String> map = image.getImageTagAttributes();
for (Map.Entry<String,String> foo : map.entrySet()) {
    String key = foo.getKey();
    String value = foo.getValue();

    //output here
}
于 2013-01-31T17:43:02.873 に答える
0

for each ループで Map を反復することはできません。

マップ オブジェクトのキーセットを取得し、それを繰り返します。

次に、for ループ内で、マップから各キーの値を取得してみます。

于 2013-01-31T17:36:06.143 に答える
0

これは Map を反復処理する正しい方法ではないため:

    Image image = new Image(resource);
    Map<String, String> foo =  image.getImageTagAttributes();
    Set<String> key = foo.keyset(); 
     for ( k : keys ) {
           String value = foo.get(k);
        //output here
    }

または、そのように対話することができます:

    Image image = new Image(resource);
    Map<String, String> foo =  image.getImageTagAttributes();
    Set<Map.Entry<String,String>> entries = foo.entrySet();

    for(Map.Entry<String, String> e : entries){
       String key  = e.getKey();
       String value = e.getValue();
        //output
    }

私の答えでは、それimage.getImageTagAttributes();Map<String,String>

于 2013-01-31T17:36:22.697 に答える