`

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 API 中文版

    5. **可变参数(Varargs)**:可变参数允许一个方法接受零个或多个参数,这些参数在语法上表现为一个数组。这种方式使得方法调用更加灵活,无需显式地创建数组。 6. **增强的for循环(foreach)**:也称为foreach...

    Java5.0中方帮助文档

    这份"Java5.0中方帮助文档"是针对中国开发者量身定制的官方指南,包含了丰富的API详解、示例代码和编程指南,对于Java初学者和资深开发者来说都是宝贵的资源。 1. **泛型(Generics)** Java 5.0引入了泛型,允许...

    JAVA 5.0 TIGER程序高手秘笈.rar

    4. **Varargs(可变参数)**:Java 5.0引入了可变参数,允许方法接受任意数量的同类型参数。这使得编写方法时更加灵活,比如`System.out.println()`就是一个很好的例子,它可以接收任意数量的参数。 5. **...

    Java 5.0 Tiger程序高手秘笈.rar

    Java 5.0引入了可变参数,允许在方法声明中使用三个点(...)来定义一个可变长度的参数列表。这使得方法调用更加灵活,不再需要创建数组来传递多个相同类型的参数。 五、增强的for循环(Enhanced For Loop) 也称为...

    Java5.0 Tiger程序高手秘笈(含源码)

    6. **可变参数(varargs)**:Java 5.0引入了可变参数,允许方法接受一个可变数量的参数。这在编写函数式接口或需要灵活参数数量的场景下非常有用。 7. **内省增强**:Java 5.0改进了反射API,增加了对泛型和枚举的...

    java 5.0新特性.txt

    - **注意点**:可变参数必须位于参数列表的最后,且在方法签名中表现为数组。 ### 4. Static import(静态导入) - **功能**:通过静态导入,可以直接使用类中的静态变量和方法,无需显式指定类名。这有助于减少...

    java5.0api

    4. **变量args**:Java 5.0引入了`varargs`语法,允许函数接受可变数量的参数。例如,`public void printNumbers(int... numbers)`可以接受任意数量的整数。 5. **自动装箱与拆箱**:Java 5.0实现了基本类型与其...

    良葛格java5.0的学习笔记

    7. **Varargs(可变参数)**:Java 5.0引入了可变参数,允许一个方法接收不定数量的参数,这在编写函数式接口和便利方法时非常有用。 8. **Numeric Promotions(数值提升)**:在Java 5.0中,数值运算的类型提升变...

    JAVA5.0API

    7. **可变参数(Varargs)**:允许方法接收不定数量的参数,通过在参数列表的末尾加上`...`来表示,如`public void printNumbers(int... nums)`。 8. **静态导入(Static Import)**:可以使用`import static`语句...

    Java5.0学习笔记

    13. **可变参数的数组类型推断**:在Java 5.0中,如果方法参数是可变参数,编译器可以根据传入的实际参数推断出数组的类型。 14. **`compareTo()`方法的重写**:对于枚举类型,Java 5.0默认提供了按照枚举常量的...

    Java5.0中文API

    10. **可变参数**:Java 5.0引入了可变参数,允许方法接受一个不确定数量的参数,如public void printNumbers(int... numbers) {...},这极大地提高了方法的灵活性。 这份"Java5.0中文API"文档将详细解释以上所有...

    Java JDK 5.0学习笔记

    Java 5.0引入了可变参数,使得方法可以接受任意数量的同类型参数。例如: ```java public void printNumbers(int... numbers) { for (int num : numbers) { System.out.println(num); } } ``` 九、静态导入...

    《Java5.0 Tiger》书籍源码

    4. 变量类型推断(varargs方法):varargs关键字允许在方法声明中接受可变数量的参数。在调用方法时,可以传入零个或多个相同类型的参数,它们会被自动封装到一个数组中。这种方式简化了多参数方法的调用,尤其是...

    javaAPI 5.0中文.rar,javaAPI 5.0中文.rar

    6. **可变参数(Varargs)**:在方法签名中,可以使用省略号(...)来声明一个可变参数列表,这使得方法能够接受任意数量的相同类型的参数。 7. **静态导入(Static Import)**:允许将类的静态成员导入到当前作用...

    良葛格Java JDK 5.0学习笔记ch05

    Java 5.0引入了可变参数,允许方法接受不定数量的参数。定义可变参数的方法使用`...`运算符,如`public void printNumbers(int... numbers)`。这使得在调用方法时,可以传入任意数量的整数,内部会将它们封装成一个...

    JAVA5.0API_CN

    可变参数允许在方法声明中使用一个省略号(...)来表示可变数量的参数。这样,一个方法可以接受任意数量的同一类型的参数。例如: ```java public void printNumbers(int... numbers) { for (int number : numbers...

    JavaAPI_5.0(中文版)

    8. **可变参数**(varargs):Java 5.0引入的可变参数允许函数接受不定数量的参数,最后一个参数前的`...`表示它可以接收零个或多个该类型的参数。 9. **枚举常量的比较**:通过`.equals()`方法,可以直接比较两个...

    JAVA5.0API 中文规范+编码规范

    **可变参数**:JAVA 5.0引入的可变参数(varargs)允许我们在方法声明中使用省略号(...),这样方法就可以接受任意数量的相同类型的参数。这简化了编写处理可变数量输入的方法,如`Arrays.asList()`。 **自动装箱/...

    java-wrox-Beginning Java 5.0 2005

    - Java 5.0新特性详解:深入探讨泛型、枚举、可变参数等功能。 - 实战案例:通过具体的项目或示例来加深理解。 #### 3. **Wiley Publishing, Inc.** Wiley Publishing是一家国际知名的出版商,出版范围涵盖技术、...

    java5.0新特性

    7. **变长参数(Varargs)**:允许在方法签名中使用省略号“...”来表示可变数量的参数,简化了接收不定数量参数的方法定义。 8. **静态导入(Static Import)**:通过static import关键字,可以直接使用类中的静态...

Global site tag (gtag.js) - Google Analytics