Javaと情熱のあいだ

カステラとドーナツと珈琲

クロージャのサンプル

for文とかをつかないでList内にある総てのオブジェクトに対して同じ処理を実行する。

材料はこの辺り
org.apache.commons.collections

    /**
     *
     * 実行。
     * @throws Exception 例外
     */
    public void execute() throws Exception {

        final List<String> list = new ArrayList<String>();

        while(list.size() < 100) {
            list.add("TEST");
        }

        CollectionUtils.forAllDo(list, new HogeClosure());
    }

    /**
     *
     * <HR>
     * <P>
     *  ■モジュール名 <BR>
     * <BLOCKQUOTE>
     *      HogeClosure.java <BR>
     * </BLOCKQUOTE>
     * <P>
     *  ■クラス仕様 <BR>
     * <BLOCKQUOTE>
     *      HogeClosureクラスはクロージャを定義するクラスです。<BR>
     * </BLOCKQUOTE>
     * <P>
     * <HR>
     * <P>
     */
    public class HogeClosure implements Closure {

        /**
         *
         * 処理
         * @param arg0 処理対象
         */
        public void execute(Object arg0) {
            System.out.println(arg0 + "hoge");
        }

    }