`

java5.0以后才有的可变参数的方法

    博客分类:
  • j2se
阅读更多
java5.0以后才有的可变参数的方法,形式如下:
  方法名(数据类型 ...数据的引用名) ,数据类型可以为 自定义的类和原始类型, 以及某些系统自带类(例如:String ),
现在我们声明一个自定义的用户类
package lyx.com.cn;
@SuppressWarnings("serial")
public class User  implements  java.io.Serializable{

	public int age;
	public String name;

	public User(String name  ,int age) {
		this.name = name;
		this.age = age;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
} 

现在我们建立一个测试类
 
package lyx.com.cn;

/**
 * @author 李亚希
 *  天豪工作室
 *  2009-9-5
 */
public class TestCanArgs {
	public TestCanArgs() {
	}
	//自定义的User类
	public  static  void  outInfo(User...us)
	{
		for(User u:us)
		{
			System.out.println(u.getName()+"\t"+u.getAge());
		}
	}
	/*
	 * 整型数据原始类型 
	 * 这里暂时不考虑jdk5.0以后才有的自动装箱和拆箱
	 */
    public  static  void outInfo(int...ints) {
    	for(int i:ints)
    	{
    		 System.out.println(i);
    	}
	}
    //String  类型
    public  static void  outInfo( String...strings )
	{
	   for(String  str:strings)
	   {
		System.out.println(str);
	   }
	}

	public static void main(String[] args) 
	{
		outInfo( "liyaxi" ,"haoren");
		System.out.println("*************************");
		outInfo( "liyaxi" ,"haoren" , "tianhao");
		System.out.println("*************************");
		User u =  new User("张三 ", 26);
		User u2 = new User("李四", 25);
		User u3 = new User("王五", 24);
		User[]  us=new User[3];
		us[0]=u;
		us[1]=u2;
		us[2]=u3;
		outInfo(us);
		System.out.println("*************************");
		int[]  intArray= new int[]{2,3,4,5};
		outInfo(intArray);
	}
}

输出结果为:
liyaxi
haoren
*************************
liyaxi
haoren
tianhao
*************************
张三 26
李四 25
王五 24
*************************
2
3
4
5

可见可变参数方法的实质是传递参数类型的一个可变长度的数组 ,且可变参数必须为方法参数的最后一个参数(The variable argument type (这里是所传递的参数类型 , 例如:String)of the method outinfo2 must be the last parameter);而且一个方法只能有且仅只能有一个可变参数的参数




1
0
分享到:
评论

相关推荐

    JAVA 5.0 TIGER程序高手秘笈

    java高手秘笈详细讲解了java底层的一点事 StringBuilder Generic的使用 ...vararge 可变参数 类型...数组名 Annotation @Override @Deprecated for/in 静态的import 格式化 Formatter Thread

    java中的泛型-详细

    Java中的泛型 JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。...而泛型也是一样的,这样写class Java_Generics,V>,这里边的K和V就象方法中的参数str1和str2,也是可变。下面看看例子:

    java采购管理系统源码-retrotranslator:Retrotranslator是使Java应用程序兼容Java1.4、Java1.3

    可变参数 协变返回类型 格式化输出 静态导入 并发实用程序 集合框架增强 下载 () 并解压二进制分发文件Retrotranslator-_n.n.n_-bin.zip ,其中nnn是最新的 Retrotranslator 版本号。 使用 Java 5.0 或 Java 6 编译...

    corejava培训文档

    1. 前言 1.1. JAVA特点 1.2. 运行原理 1.3. JAVA目录 2. 一 基础知识 2.1. 配置环境 2.2. Java中基本概念 ...17.8. 可变长的参数 17.9. JAVA5.0 的注释 (Annotation) 17.10. Callable 和 Future接口

    java学习笔记 初学者必读

    1. 前言 1-4 1.1. JAVA特点 1-4 1.2. 运行原理 1-4 1.3. JAVA目录 1-4 2. 一•基础知识 2-4 ...17.8. 可变长的参数 17-73 17.9. JAVA5.0 的注释 (Annotation) 17-73 17.10. Callable 和 Future接口 17-74

    AIC的Java课程1-6章

    AIC的学费很贵,半年18000元,大家看看他们教些什么内容吧 <br>他们学校的网址http://www.aicsws-sjtu.com/<br><br>此内容是Java第1到第六章的PPT,希望大家喜欢 <br>如果大家觉得好我...[参考,可变] <br>

    Java2核心技术.part5

    12.5.1存储可变类型的对象 12.5.2理解对象序列化文件格式 12.5.3保存对象引用问题的解决 12.5.4理解对象引用的输出格式 12.5.5修改默认的序列化机制 12.5.6单元素与类型安全枚举的序列化 12.5.7...

    Eclipse3.1中体验J2SE5.0之枚举类型

    本文将介绍J2SE5.0中三个比较重要的...这些特性包括范型(generics)的支持,枚举类型(enumeration)的支持,元数据(metadata)的支持,自动拆箱(unboxing)/装箱(autoboxing),可变个数参数(varargs),静态导入(staticimports),

    Java JDK实例宝典

    全部代码出自电子工业出版社夏先波的《Java JDK实例宝典》一书,本书以J2SE 5.0为开发环境,选取Java应用的典型实例,循序渐进地介绍了Java语言的各种开发方法和技巧,实例代码注释详细规范,思路清晰。 第1章 ...

    Java 虚拟机面试题全面解析(干货)

    ·可变参数; 静态引入 元数据(注解); 引入 Instrumentation Java∨ ersion se6 支持脚本语言 引入JDBC40API; 引入 Java Compiler API; 可插拔注解; 增加对 Native PKi( Public Key Infrastructure)、 Java gss( ...

    Java2核心技术.part3

    12.5.1存储可变类型的对象 12.5.2理解对象序列化文件格式 12.5.3保存对象引用问题的解决 12.5.4理解对象引用的输出格式 12.5.5修改默认的序列化机制 12.5.6单元素与类型安全枚举的序列化 12.5.7...

    Java2核心技术.part1

    12.5.1存储可变类型的对象 12.5.2理解对象序列化文件格式 12.5.3保存对象引用问题的解决 12.5.4理解对象引用的输出格式 12.5.5修改默认的序列化机制 12.5.6单元素与类型安全枚举的序列化 12.5.7版本 ...

    Java2核心技术.part6

    12.5.1存储可变类型的对象 12.5.2理解对象序列化文件格式 12.5.3保存对象引用问题的解决 12.5.4理解对象引用的输出格式 12.5.5修改默认的序列化机制 12.5.6单元素与类型安全枚举的序列化 12.5.7...

    Java2核心技术.part4

    12.5.1存储可变类型的对象 12.5.2理解对象序列化文件格式 12.5.3保存对象引用问题的解决 12.5.4理解对象引用的输出格式 12.5.5修改默认的序列化机制 12.5.6单元素与类型安全枚举的序列化 12.5.7...

    Java2核心技术.part2

    12.5.1存储可变类型的对象 12.5.2理解对象序列化文件格式 12.5.3保存对象引用问题的解决 12.5.4理解对象引用的输出格式 12.5.5修改默认的序列化机制 12.5.6单元素与类型安全枚举的序列化 12.5.7...

    corejavaNoteBook

    1. 前言 1-4 1.1. JAVA特点 1-4 1.2. 运行原理 1-4 1.3. JAVA目录 1-4 2. 一•基础知识 2-4 ...17.8. 可变长的参数 17-73 17.9. JAVA5.0 的注释 (Annotation) 17-73 17.10. Callable 和 Future接口 17-74

    JDK5.0的11个主要新特征.doc

    3 可变参数(Variable Arguments) 4 自动实现装箱和解箱操作(Boxing/Unboxing Conversions) 5 静态导入(Static Imports) 6 枚举类(Enumeration Classes) 7 元数据(Meta data) 8 Building Strings(StringBuilder类) 9 ...

Global site tag (gtag.js) - Google Analytics