Map<String, String> headers = normalizedResp.getHeaders(); if (headers != null) { for (String key : headers.keySet()) { servletResp.setHeader(key, headers.get(key)); } }
みたいなコードを書くとFindbugsに以下のような警告が出ます。
com.aipo.social.core.oauth2.AipoOAuth2Servlet.sendOAuth2Response(HttpServletResponse, OAuth2NormalizedResponse) は、entrySet イテレータではなく効率が悪い keySet イテレータを使用しています。 このメソッドは、keySet イテレータから取り出されたキーを使用して、マップエントリの値にアクセスしています。 Map の entrySet イテレータを使用した方が Map.get(key) ルックアップを回避するのでより効率的です。
以下のように直します。
Map<String, String> headers = normalizedResp.getHeaders(); if (headers != null) { for (Entry<String, String> entry : headers.entrySet()) { servletResp.setHeader(entry.getKey(), entry.getValue()); } }
参考
http://qiita.com/n_slender/items/22f78386cf0fe40e3663