1、从头认识java-4.8数组的初始化(2)-可变参数列表接着上一节,我们这一章节来聊一下数组的另外一个应用:可变参数列表1.可变参数列表带来的改变在没有出现可变参数列表的时候,我们一般会使用数组来替代,但是有一个问题,每一次都需要先建立一个数组作为参数,不能动态的形成数组作为参数。[java] viewplaincopy1.package com.ray.ch04; 2. 3.public class Test { 4. public static void printArray(Object[] objects) {
2、 5. for (int i = 0; i < objects.length; i++) { 6. System.out.println(objects[i]); 7. } 8. } 9. 10. public static void main(String[] args) { 11. Object[] objects = { 1, "2", new Integer(3), new Book() }; 12. printArray
3、(objects); 13. } 14.} 15. 16.class Book { 17.} 输出:123com.ray.ch04.Book@1f4689e我们把上面的代码改成可变参数列表的形式:[java] viewplaincopy1.package com.ray.ch04; 2. 3.public class Test { 4. public static void printArray(Object... objects) { 5. for (int i = 0; i < ob
4、jects.length; i++) { 6. System.out.println(objects[i]); 7. } 8. } 9. 10. public static void main(String[] args) { 11. printArray(1, "2", new Integer(3), new Book()); 12. } 13.} 14. 15.class Book { 16.} 输出:123com.ray.ch04.Bo
5、ok@61de33上面的代码使得参数更加灵活,不用每次都先预定一个数组,可以动态的形成数组参数列表。而且,可变参数可以传空值进去。2.可以控制可变参数列表的类型[java] viewplaincopy1.package com.ray.ch04; 2. 3.public class Test { 4. public static void printArray(Book... books) { 5. for (int i = 0; i < books.length; i++) { 6.
6、 System.out.println(books[i]); 1. } 2. } 3. 4. public static void main(String[] args) { 5. // printArray(1);//抛异常 6. printArray(new Book()); 7. } 8.} 9. 10.class Book { 11.} 上面的代码控制了输入参数的类别,因此,当我们输入1时,会抛异常。我们下面再举一个例子:[java] v
7、iewplaincopy1.package com.ray.ch04; 2. 3.public class Test { 4. public static void printIntArray(int... ints) { 5. System.out.println(ints.getClass()); 6. for (int i = 0; i < ints.length; i++) { 7. System.out.println(ints[i]); 8.