黑马程序员技术交流社区

标题: 可变参数,枚举 [打印本页]

作者: yangxiaosa    时间: 2017-3-19 00:02
标题: 可变参数,枚举
                遍历实现了Iterator接口的集合类
        可变参数:Varargs
                简述:
                        JDK1.5开始,Java允许为方法定义长度可变的参数
                        语法:public void foo(int ... args){}
                注意事项:
                        可变参数可以被当做数组使用
                        传递对象数组时,数组将被打散
                        传递基本类型数组时,数组将被看待为一个对象
                                例:        List   list = Arrays.asList(1,2,3,4,5);
                                        System.out.println(list);//打印[1, 2, 3, 4, 5]
                                        int[] arr1 = {1,2,3,4,5};
                                        list = Arrays.asList(arr1);
                                        System.out.println(list);//打印[[I@1e58cb8]
                                        String[] arr = {"qw","as","df","xc","ss"};
                                        list  = Arrays.asList(arr);
                                        System.out.println(list);//打印[qw, as, df, xc, ss]
                        可变参数只能处于参数列表的最后(只能有一个可变参数)
        枚举:Typesafe Enums
                例子:
                public Enum Grade{
                        //生成A和B两个枚举
                        A("90-100"){
                                //重写抽象方法
                                public String range(){return "优"}
                        }
                        ,B("80-90"){
                                //重写抽象方法
                                public String range(){return "良"}
                         }

                        private String value;
                        //私有构造函数
                        private Grade(String value){
                                this.value=value;
                        }
                        public String getValue(){
                                return value;
                        }
                        //定义抽象方法
                        public abstract String range();
                }
                public class Test{
                        public static void main(String[] args){
                                //Grade对象只能是Grade.A或Grade.B,所以叫枚举(就是固定枚对象中举出一个,这里是两枚对象中举出一个)
                                Grade g = Grade.A;
                                String s = g.getValue();
                                System.out.println(s);//打印90-100
                                String ss = g.range();
                                System.out.println(ss);//打印优
                        }
                       
                }
作者: 小黄哥    时间: 2017-3-19 00:07
受用了





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2