無名クラスへのパラメータ渡し

実は無名クラスはほとんど使ったことがないので調べた。
finalにしておかないといけないようだ。


ということは先ほどのサンプルだとこんな感じになる。
http://www2.coins.tsukuba.ac.jp/~i021216/diary/?date=20060205#p01

public List getProductList(final String id) {

    return getHibernateTemplate().executeFind(new HibernateCallback() {
        public Object doInHibernate(Session session) throws HibernateException {
        Criteria criteria = session.createCriteria(Product.class);

        criteria.add(Restrictions.eq("hogeId", id));

        //criteria.addOrder(Order.asc("title"));
        return criteria.list();
    });
}


コンパイルは通してないので嘘かも知れないけど・・・。


ついでにメモ。
無名クラス=匿名クラス=anonymous class


※2006/09/14:final引数に修正