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)
江山如画的头像江山如画管理团队
从月薪3500到身价700万 我在上海的奋斗岁月
上一篇 2019年11月16日 下午2:04
大学英语课如何融入课程思政
下一篇 2019年11月20日 上午8:35

99%的人还看了以下文章

  • 跟永哥学MVC:Jsp+Servlet+JavaBean开发后台登录程序

    跟永哥学MVC:Jsp+Servlet+JavaBean开发后台登录程序,125建站网原创,转载请务必注明出版。 Jsp+Servlet+JavaBean开发后台登录程序-实现一 login.html(视图) <form action=”loginServlet” method=”post”> 用户名: <input type=”text”…

    2018年2月22日
    20.3K0
  • JSP一次上传多个文件(基于jspSmartUpload)

    支持中文的jsp文件上传组件:jspSmartUpload.jar下载 可以一次上传多个文件 upload.html <html> <head> <title>网页设计:文件上传</title> <meta http-equiv=”Content-Type” content=”text/html; cha…

    编程开发 2021年11月25日
    2.8K0
  • %matplotlib inline使用详解

    #内嵌画图 %matplotlib inline import matplotlib # 注意这个也要import一次 import matplotlib.pyplot as plt myfont = matplotlib.font_manager.FontProperties(fname=r’C:/Windows/Fonts/msyh.ttf’) # 这一…

    2023年1月13日
    3.0K0
  • 第五章 JavaBean技术

    掌握:
    JavaBean的概念及规范
    JavaBean的创建与使用
    JavaBean属性的获取及修改
    getProperty:获取bean的属性值
    setProperty:设置bean的属性值

    2018年2月22日
    9.9K0
  • 【Java面试题】15道经典的java面试题(附答案)

    Java是一种可以跨平台的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。今天,中国网页设计给大家分享15道较为经典的Java面试题,希望对你将来在企业面试中能有所帮助! 1、面向对象的特征有哪些方面? 2、访问修饰符…

    2018年8月1日
    2.3K0
  • 简!修改Jupyter 默认打开目录的方法

    简!修改Jupyter 默认打开目录的方法简!修改Jupyter 默认打开目录的方法简!修改Jupyter 默认打开目录的方法简!修改Jupyter 默认打开目录的方法

    1、启动cmd,执行以下命令,查看 jupyter 配置文件路径 C:Users41588>jupyter notebook –generate-configWriting default config to: C:Users41588.jupyterjupyter_notebook_config.py 2、找到配置文件 jupyter_n…

    2023年7月19日 编程开发
    12.1K0

发表回复

登录后才能评论