xindongyinfu
2011-10-09 09:31 阅读 252
已采纳

Hibernate低级问题求教

[code="java"]public Page findPage(final Page page, final String hql,
final Object... values)
[/code]
Object... 做啥意思的

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • 已采纳
    WAMING5 WAMING5 2011-10-09 13:36

    Object是用来穿地参数得,Objec....它和Object[]有区别,Object[]提前必须初始化长度,而Objec....得长度不定,可以是一个,可以是更多,或是没有。看了下你那个产寻分页方法,穿进去了HQL,因为HQL查询条件是动态得,可能一个,可能两个,也可能是三个.....用Objec....这种形式更加方便,当然你也可以放进去数组,或是Map,至于得的实现setParamter就不一样了,一种是靠顺序维护,另一种就是属性name,setParamter(index,value)或是setParamter(name,value).

    点赞 评论 复制链接分享
  • AngelAndAngel AngelAndAngel 2011-10-09 09:38

    和Object[]差不多,这个参数你可以传0个或任何多个,比如findpage(page,hql,obj1,obj2)。

    点赞 评论 复制链接分享
  • DreamZhong DreamZhong 2011-10-09 10:10

    [quote]Object... values[/quote]
    可变参数,可以传一个或多个参数值,因为这里无法确定你要传的参数的具体类型,所以使用Object,因为这是所有类型的父类,如果方法的形式参数有多个,记得将可变参数作为最后一个参数使用,避免冲突。

    点赞 评论 复制链接分享
  • cbcgkx cbcgkx 2011-10-09 10:29

    ...是不定长参数的使用方式
    你上面的代码的意思是可以传入多个Object类型的参数
    public void test(Object ...args){
    System.out.println(args.length);
    }

    调用的时候 你可以传入多个参数试试 test("a","b","c");

    点赞 评论 复制链接分享
  • aini3456 aini3456 2011-10-09 15:28

    Object...可变数量参数,[color=red]只能出现在最后一个参数的位置[/color]

    比如[quote] 1. public Page findPage(final Page page, final String hql,

    1. final Object... values) [/quote]可以这样用,findpage(page,“select * from table where id=?,rid=?”,id,rid) 在findpage方法中的values如果不为一个数组,遍历values的值,取出对应的id,和rid

    如果你的sql中不需要设置参数也可以直接调用 findpage(page,“select * from table),此时findpage方法中的values参数为null。

    点赞 评论 复制链接分享
  • fang_fumin fang_fumin 2011-10-09 15:49

    Object... 可变数量参数

    public class TestParamObject
    {
    public void testParam(Object ... params)
    {
    System.out.println("qqqq");
    }
    public static void main(String[] args)
    {
    TestParamObject t = new TestParamObject();
    // 可以使用以下几种方法调用testParam
    Object obj1 ="aa";
    Object obj2 ="bb";
    Object obj3 ="cc";
    Object obj4 ="dd";
    t.testParam(obj1);
    t.testParam(obj1,obj2,obj3,obj4)
    t.testParam(new Object[]{obj1,obj2,obj3,obj4});
    }
    }

    点赞 评论 复制链接分享
  • ttt10816 ttt10816 2011-10-09 16:43

    2楼正解。。

    点赞 评论 复制链接分享

相关推荐