object…object和object[]…object的区别

object…object

public int update(String sql, Object... params) throws SQLException {
        Connection conn = this.prepareConnection();
        return this.update(conn, true, sql, params);
    }

上面程序中传递的形参中有这样的一个写法:Object… params

Object …params这种参数定义是在不确定方法参数的情况下的一种多态表现形式。

即这个方法可以传递多个参数,这个参数的个数是不确定的。

这是JDK1.5新增语法,新特性,动态参数或者是可变参数的意思。

(1)使用…将参数声明成可变长参数。

(2)可变长参数必须是最后一个参数。

(3)可变参数同时可以跟固定的参数混合使用,但是一个方法的参数列表中最多只有一个不定长度的参数。

上面第2、3条必须满足,不然不能通过编译。

Object是所有类的基类,所以使用Object …objects这样的参数形式,允许一切继承自Object的对象作为参数。

Object[] obj

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

当形参为Object[]数组时,调用该方法必须为一个数组

object…object和object[]…object的区别

日常使用不定参数时候基本是Object…可以等同于 Object[] obj一维数组理解的。

当形参为Object…objects时,调用就相当灵活了,可以不带参数,可以带一个参数或者多个参数,也可以带数组作为参数

二、怎样使用

private static int sumUp(int... values) {   
    int sum = 0;   
    for (int i = 0; i < values.length; i++) {   
        sum += values[i];   
    }   
    return sum;   
} 
public static void main(String[] args) {
  String ss=test("网页制作","设计欣赏","建站教程","网站优化");
  System.out.println(ss);
 }
 public static String test(String... params ) {
  StringBuilder s = new StringBuilder();
  for (String string : params) {
   s.append(string);
  }
  return s.toString();
 }

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4267.html

(0)
江山如画的头像江山如画管理团队
上一篇 2019年11月16日 下午2:04
下一篇 2019年11月20日 上午8:35

99%的人还看了以下文章

  • 编写第一个Python程序——输出HelloWorld并运行

    上一章节我们讲解了Python开发环境搭建,今天学习使用 Eclipse编写第一个Python程序——输出HelloWorld并运行。 1.打开Eclipse,选择File——》New——》Other。在弹出的New窗口中,选择Pydev——》Pydev Project——》next。 2.在弹出的窗口中,依次填写Project name(工程名)——》Di…

    2019年6月24日 编程开发
    4.9K0
  • 如何修改从Maven中心仓库下载到本地的jar包的默认存储位置?

    为什么要修改从Maven中心仓库下载到本地的jar包的默认存储位置? 把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。 第一次执行”mvn compile”和”mvn clean”这两个命令时,Maven会去中央仓库下…

    2023年1月28日 编程开发
    1.0K0
  • 纯JSP实现计算圆的面积和周长

    一个jsp页面由元素和模板数据组成.元素是必须由jsp容器处理的部分.而模板数据是jsp容器不处理的部分,如jsp中的HTML内容 元素有三种类型: 脚本元素,指令元素, 动作元素 脚本元素:包含三个部分:声明,脚本段,表达式 声明:用于声明在其它脚本元素中可以使用的变量和方法 脚本段:是一段java代码 表达式:java语言中完整的表达式 声明 以<…

    2020年4月3日
    12.2K0
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    4.6K0
  • 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精)

    很多初学JSP的人,学了JSP页面、javabean技术和Servlet,但并不知道怎么用,什么时候用? 今天我们通过一个求圆面积的实例,分别使用三种方法来实现,深入理解Jsp、javabean、Servlet: jsp页面代码 Javabean Servlet 跟永哥学JSP:一个案例三种实现,教你理解Jsp、javabean、Servlet(精),为12…

    2018年2月22日
    5.8K2
  • python 初学者练手上机实操四

    1.用*打印一个如下所示的图形。(10分) * * * * * * * * * * print(‘*’) print(‘* *’) print(‘* * *’) print(‘* * * *’) 要求分别使用for和while语句实现 导入turtle包(impo…

    2023年5月5日
    1.4K0

发表回复

登录后才能评论