zoukankan      html  css  js  c++  java
  • jdk5.0新特性

    静态导入

    静态导入就是导入静态方法和常量,但是此方法的实用性不是很高,因为这样做会引起代码冲突

    静态导入代码案例:

    import static java.lang.System.out;
    public class YouXin03 {
        public static void main(String[] args) {
            out.println("hello");           //使用System类的静态out方法
        }
    }

    自动拆装箱

    装箱:把基本的数据类型转换成包装类

    拆箱:把包装类转换成基本的数据类型

    //JDK5.0的拆装箱
    public void youXinTest01() {
        Integer m = 10;                 //装箱
        int m = i;                      //拆箱
    }
    //JDK1.4的拆装箱
    public void youXinTest02() {
        Integer m = new Integer(10);    //装箱
        int a = m.intValue();           //拆箱
    }

    JDK向下兼容问题

    public class YouXin04 {
        public static void main(String[] args) {
            //因为JDK1.4不能实现自动拆装箱,所以进入的是doSomething(double m);因为变量自动向上转型
            doSomething(10);
        }
        public static void doSomething(double m) {
            System.out.println("double....");
        }
        public static void doSomething(Integer a) {
            System.out.println("Integer....");
        }
    }

    增强for循环

    增强for就是对普通for(int a=0;a<10;a++){}循环的一种简便写法,同时目的也是为了替代迭代器,因为增强for底层就是迭代器的实现,但增强for循环有个使用场景限制就是:只能是数组或者是实现 Iterable 接口的集合,可以使用增强for循环,特别注意的是集合中List和Set集合实现了 Iterable接口,但Map没有实现,所以Map不能使用增强for循环,下面举个例子来说下使用增强for。

    public class YouXin04 {
        public static void main(String[] args) {
            //创建List
            List<String> list = new ArrayList<String>();
            list.add("111");
            list.add("222");
            list.add("333");
            //增强for遍历list集合
            for(String item : list) {
                System.out.println(item);
            }
            System.out.println("================");
            //迭代器遍历list集合
            Iterator<String> it = list.iterator();
            while(it.hasNext()) {
                System.out.pringln(it.next());
            }
        }
    }

    可变参数

    可变参数顾名思义就是参数的个数可变的,下面举个例先来看看什么是可变参数。

    public class YouXin05 {
        public static void main(String[] args) {
            //调用同一个方法,但传递过去的参数却不同
            add(10, 20);
            add(10, 20 ,30);
            add(10, 20 ,30 ,40);
        }
        public static void add(int...nums) {
            //以上调用都会进入到此方法
            int sum = 0;
            for(int i=0; i< nums.length; i++) {
                sum += nums[i];
            }
            System.out.println(sum);
        }

    以上是可变参数的应用,但可变参数有些是需要注意的,比如:

    • 可变参数需要写在方法的参数列表中,不能单独定义
    • 在方法的参数列表中只能有一个可变参数
    • 方法的参数列表中的可变参数,必须放在参数最后

    importstatic java.lang.System.out; publicclass YouXin03 {publicstaticvoidmain(String[] args) { out.println("hello"); //使用System类的静态out方法 } }

  • 相关阅读:
    爬虫-自动模拟http请求
    iOS开发 - 判断程序第一次开启 以及 应用升级后第一打开的判断
    NSDictionary的几种遍历方法
    算法回顾(三) 二分查找
    以前写的在wp7模拟器测试应用的测试框架
    iOS 应用开发基础翻译 改为 笔记和总结
    算法回顾(二):快速排序
    算法回顾(一):冒泡排序
    iOS 应用中的表视图(Table View)(译)
    预告:iOS 应用开发基础翻译
  • 原文地址:https://www.cnblogs.com/paoge/p/13565324.html
Copyright © 2011-2022 走看看