`
caspers
  • 浏览: 63656 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

可变长度的参数

阅读更多
Java1.5提供了一个叫varargs的新功能,就是可变长度的参数。

在以前的jdk版本中,对象中一个方法的入参个数在写好后就是固定的,而varargs提供了可变长度的功能,有点类似于main方法的参数String[] args,我们在命令行运行时args可数是可变的。
使用varargs写法是这样的 public Guitar(String builder, String model, String... features); 用省略号...声明features为可变长度的参数。
你申明如下方法
public Guitar(String builder, String model, String... features)
编译时将被解释为:
public Guitar(String builder, String model, String[] features)

但是他是有一些限制的.首先你在一个方法中只能使用一个省略号定义,也就是只能定义一个可变长的参数。 下面的定义是不合法的 public Guitar(String builder, String model,
String... features, float... stringHeights)
我们可以用下面的方法取得可变长参数:

public Guitar(String builder, String model,GuitarWood backSidesWood, GuitarWood topWood,
float nutWidth,GuitarInlay fretboardInlay, GuitarInlay topInlay,String... features) {
this.builder = builder;
this.model = model;
this.backSidesWood = backSidesWood;
this.topWood = topWood;
this.nutWidth = nutWidth;
this.fretboardInlay = fretboardInlay;
this.topInlay = topInlay;
    for (String feature : features) {
      System.out.println(feature);
    }
}


我们也可以这样获取可变长参数值,把features直接赋给String[],或者其他集合类型
// Variable declaration
private List features;
// Assignment in method or constructor body
this.features = java.util.Arrays.asList(features);


以上内容摘自:
http://www.onjava.com/pub/a/onjava/excerpt/javaadn_chap5/index.html
http://www.onjava.com/catalog/javaadn/excerpt/javaadn_ch05.pdf
分享到:
评论

相关推荐

    Python中函数的可变长度参数的使用示例

    使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。...目的:帮助理解函数的可变长度参数在Python中的具体使用。

    C51可变参数讲解.pdf

    keil C51可变参数讲解,自定义允许访问可变长度参数列表的函数。

    Java中可变长度参数代码详解

    主要介绍了Java中可变长度参数代码详解,涉及了实参个数可变的定义方法,数组包裹实参等几个问题,具有一定参考价值,需要的朋友可以了解下。

    解析Java的可变长参数列表及其使用时的注意点

    主要介绍了解析Java的可变参数列表及其使用时的注意点,注意可变参数必须位于最后一项,需要的朋友可以参考下

    Java中的可变参数常见用法实例总结

    主要介绍了Java中的可变参数常见用法,结合实例形式总结分析了java可变参数的常见功能、使用方法及相关操作注意事项,需要的朋友可以参考下

    Java中支持可变参数详解

    那个可变参数的就是个数组,你传多少个参数都被放到那个数组里面。这样方便了程序员,因为如果不确定要传的参数的个数的话,我们要写带1个参数的,带2个参数,带3个参数的,这样很麻烦。 该进后的这个方法,我们只要...

    关于java中可变长参数的定义及使用方法详解

    下面小编就为大家带来一篇关于java中可变长参数的定义及使用方法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    实验项目B、Java类基础编程

    4、掌握可变长度参数。 5、理解递归程序的编写。 二、实验内容和主要步骤 ★专题:类和对象基础★ 1.使用Eclipse IDE编写第一个实用类 2.创建一个学生类 3.构造方法 ★专题:方法★ 1.方法的传值调用 2.方法重载 3...

    对Python强大的可变参数传递机制详解

    写着写着就发现Python可变长度参数的机制真是灵活而强大. 假设有一个元组t,包含n个成员: t=(arg1,...,argn) 而一个函数f恰好能接受n个参数: f(arg1,...,argn) f(t)这种做法显然是错的,那么如何把t的各成员作为...

    求可变长子网掩码的划分 c++

    可变长子网掩码的子网划分过程演示 编程实现:根据子网掩码中“1”的位数求出子网的网络地址、广播地址以及子网内IP地址的范围等参数。

    扩展:Java高级技术.pdf

    类型后面三个点(String...),是从Java 5开始,Java语言对方法参数支持一种新写法,叫可变长度参数列 表,其语法就是类型后跟...,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。 例如:有一个...

    PHP5与MySQL5从入门到精通.rar

    3.2.4 可变长度参数列表 3.3 函数返回值 第4章 类与对象 第5章 字符串 第6章 数组 第7章 PHP高级应用技术 第8章 PHP模板 第9章 MySQL快速入门 第10章 MySQL数据库管理 第11章 MySQL5进阶 第12章 文章发布...

    数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)

    数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)。1.冒泡排序: ​ 两两相比(两个相邻的数进行比较) 条件成立 互换位置 ​ 外层循环控制比较的轮数 **轮数永远是 长度 -1 (n - 1)** ​ 内层循环...

    可变分区分配回收模拟程序

    1. 同学们可根据算法试着写出主存分配函数:该函数参数只有需要的分区长度,函数完成空闲区分配,并修改空闲区表。 2. 若采用最先适应算法进行可变分区主存分配,试设计算法与程序。 3. 若采用最坏适应算法进行可变...

    做好Linux硬件实时监控(三)——存储设备、网络设备监控.pdf

    可变长度参数列表仅在 PHP 4 和后续版本中支持。返回值可以通过使用可选的返回语句返回,任何类型都可以返回。 4. PHP 内部函数:PHP 有很多标准的函数和结构,还有一些函数需要和特定的 PHP 扩展模块一起编译,...

    Python函数的定义方式与函数参数问题实例分析

    可变长度参数 函数的定义方式: 函数的文字说明: 为了让别人了解函数的意义,或者避免自己遗忘,可以使用 字符串(不需要赋值,单引号,双引号,多引号都行)、#注释 将文字说明写在函数最开始的位置 def ...

    PHP函数参数传递的方式整理

    而向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数和可变长度参数。 1. 值传递 值传递是 PHP 中函数的默认传值方式,也称为“拷贝传值”。顾名思义值传递的方式会将实参的值复制一份再传递给函数的...

    python matplotlib.pyplot.plot()参数用法

    参数是一个可变长度参数,允许多个X、Y对可选的格式字符串。 例如,下面的每一个都是合法的: plot(x, y) #plot x, y使用默认的线条样式和颜色 plot(x, y, ‘bo’) #plot x,y用蓝色圆圈标记 plot(y) #plot y用x作为...

    Java Varargs 可变参数用法详解

    Java1.5 提供了一个叫varargs的新功能,就是可变长度的参数。 “Varargs”是 “variable number of arguments”的意思。有时候也被简单的称为 “variable arguments”。 定义实参个数可变的方法:只要在一个形参的”...

Global site tag (gtag.js) - Google Analytics