public List<T> findByCriteria(Criterion... criterions) {
DetachedCriteria criteria = DetachedCriteria.forClass(getClazz());
for (Criterion c : criterions) {
criteria.add(c);
}
return getHibernateTemplate().findByCriteria(criteria);
}
这里面的Criterion... criterions参数可以是什么类型的啊

解决方案 »

  1.   

    http://blog.csdn.net/cnhome/archive/2009/03/26/4026306.aspx这个我平常也不怎么用,在网上找了个资料,你看看吧
      

  2.   

    它不是只能放Criterion类型吗?
      

  3.   

    Criterion... criterions这个实际上是数组 这个参数列表的好处是 调用他的时候可以不用考虑同类型参数的个数
      

  4.   

    那为什么我new String[]数组放到里面不行啊
      

  5.   

    指定啦元素值必须是Criterion。
      

  6.   

    Criterion... criterions 这是JDK1.5里的新特性,这是可变长度的数组.
      

  7.   

    Criterion... criterions 这是JDK1.5里的新特性,相当于List<Criterion> criterions=new ArrayList<Criterion>();
      

  8.   

    for (Criterion c : criterions) { 
    criteria.add(c); 

    增强for循环吗!criterions肯定是集合啊。
    看看传参的时候,到底是List 还是set
      

  9.   


    看样子这个问题有两种答案。。不是直接NEW的 你调用方法的时候可以往里放一个参数 或者多个参数 比如findByCriteria(new Criterion(),new Criterion()...)这个是不限制的 他的好处就是放进去之前不用数组传 想放几个就放几个 但是到方法内他会给你转成数组的
      

  10.   

    在传一个参数的时候 默认认为是一个参数的方法在你传入多个参数的时候,接受的方法会默认认为是数组。。区别在于你传参的时候。。  具体见 JAVA编程思想