java中Object... 的用法是什么意思?

  1. @SuppressWarnings("unchecked")
  2. public List<T> findByConditions(String hql,Object... conditions) throws Exception{
  3. Session session = getSessionFactory().getCurrentSession();
  4. Query query = session.createQuery(hql);
  5. for (int i = 0; i < conditions.length; i++) {
  6. query.setParameter(i, conditions[i]);
  7. }
  8. return query.list();
  9. }
@SuppressWarnings("unchecked") public List findByConditions(String hql,Object... conditions) throws Exception{ Session session = getSessionFactory().getCurrentSession(); Query query = session.createQuery(hql); for (int i = 0; i < conditions.length; i++) { query.setParameter(i, conditions[i]); } return query.list(); }

Object是所有类的基类,这个你可以查询jdk文档了解,所有类都继承自Object。
Object ...objects(称为可变个数的形参)这种参数定义是在不确定方法参数的情况下的一种多态表现形式。即这个方法可以传递多个参数,这个参数的个数是不确定的。这样你在方法体中需要相应的做些处理。因为Object是基类,所以使用Object ...objects这样的参数形式,允许一切继承自Object的对象作为参数。这种方法在实际中应该还是比较少用的。

Object[] obj这样的形式,就是一个Object数组构成的参数形式。说明这个方法的参数是固定的,是一个Object数组,至于这个数组中存储的元素,可以是继承自Object的所有类的对象。

这些基础东西应该多看几遍"Think in java"。

经验分享 程序员 微信小程序 职场和发展