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%的人还看了以下文章

  • web前端显示设备实时温度,ECharts实现温度折线图,实时动态温度曲线图生成

    web前端显示设备实时温度,ECharts实现温度折线图,实时动态温度曲线图生成。 具体步骤如下: 1.在页面中引入ECharts文件echarts-all.js <!– ECharts单文件引入 –> <script src=”http://echarts.baidu.com/build/dist/echarts-all.js”&gt…

    2019年5月31日
    21.0K1
  • Python数据分析及可视化,科学计算练习题

    第一章 单元测试 1、 问题:数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系、内部联系和业务规则,为商业提供决策参考。( )选项:A:对B:错答案: 【对】 2、 问题:Anaconda中包含了conda、Python在内的超过18个科学包及其依赖项。( )选项:A:对B:错答案: 【对】 3、 问题:数据分析是一个有目的…

    2022年1月29日
    24.4K1
  • 赞!1条语句快速将python程序打包成可执行文件

    python程序编写好后,如何将python程序打包成成可执行文件呢? 今天125建站网教大家使用pyinstaller打包命令将python程序打包,希望大家有所收获。 一、安装pyinstaller pip3 installer pyinstaller # 清华镜像安装 # pip3 install -i https://pypi.tuna.tsingh…

    2023年2月3日
    2.0K0
  • java中类、接口、方法、变量命名时的大小写问题

    类或者接口 一个单词:首字母大写 举例:Student,Demo 多个单词:每个单词首字母大写 举例:HelloWorld,StudentName 方法或者变量 一个单词:首字母小写 举例:name,main 多个单词:从第二个单词开始,每个单词首字母大写 举例:studentAge,showAllNames() 常量 全部大写 一个单词:大写 举例:PI …

    2020年11月15日
    4.0K0
  • 第2课:编写第一个C语言程序

      用C语言语句编写的程序称为C程序或C源程序。 下面编写第一个C语言程序,这个程序是在Visual C++ 环境下编译通过的。 Microsoft Visual C++(简称Visual C++、MSVC、VS或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。 【例1.1】用C语言编写一个…

    2020年4月5日
    9.2K0
  • JS截取字符串方法详解:前面/中间/后面

    JS截取字符串方法,JS的match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 js截取字符串中间的内容 var str = “aaabbbcccdddeeefff”; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee js截取某个字符串前面的内容 var…

    2023年1月5日
    7.9K0

发表回复

登录后才能评论