Befor
for (final String imageUrl : stringlList) { final URL url = new URL(imageUrl);//Warning ... }
このコードだと、PMDで ループ内でインスタンスを作るのは避けてください(Avoid instantiating new objects inside loops)が表示されてしまう。 色々と解決方法を検討した結果 After
for (final String imageUrl : stringList) { final URL url = createURL(stringList); } private URL createURL(final String url) throws MalformedURLException { return new URL(url); }
とすることで警告を消すことができた。 メソッドに分けただけで、同じじゃないか・・・? 可読性とかも変わっていないような気がするし、メモリ管理の面で見ても結局はループ内でのインスタンスを作成していることに変わりは無い。 まあ、そのうちベンチマークしてみるとするか・・・。
0 件のコメント:
コメントを投稿