首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

catch ( org.springframework.dao.DataAccessException e) {

2012-02-04 
内部类与final对一个方法的引用类型参数进行修改,但该操作是在该方法的一个内部类方法中修改的,而内部类中

内部类与final
对一个方法的引用类型参数进行修改,但该操作是在该方法的一个内部类方法中修改的,而内部类中要求变量要用final修饰,但final修饰的变量又不能改变其值,求高手帮助

[解决办法]
谁说的内部类里面的变量要用 final 修饰?
[解决办法]
此变量如果是类实例的应用你可以直接用其get和set方法改变即可。
[解决办法]

Java code
    //注意用final修改过了。    public void updateObject(final CompletionAcceptance obj) {                try {            this.getHibernateTemplate().execute(                new HibernateCallback(){                    public Object doInHibernate(Session session) throws HibernateException, SQLException {                        String hql = new String("delete CompletionAcceptance where caId in(:ids)");                        Query query = session.createQuery(hql);                        query.setParameter("ids", obj.getCaId());                        return query.executeUpdate();                    }                }            );        } catch ( org.springframework.dao.DataAccessException e) {            throw new DataAccessException(e.getMessage(),e);        }        //你的问题是不能修改obj中的值吗?        //final只是限制了引用不可修改也就是说不能再有如下代码        obj = new CompletionAcceptance();        //但你可以这样        obj.setCaId("new Id");            } 

热点排行