• JDK5.0新特性1


    目录

    • 静态导入
    • 自动装箱/拆箱
    • for-each循环
    • 可变参数 枚举

    JDK 5.0 新特性简介

    JDK 5.0 的一个重要主题就是通过新增一些特性来简化开发,这些特性包括:

    • 静态导入
    • 自动装箱/拆箱
    • for-each循环
    • 可变参数
    • 枚举
    • 泛型
    • 注解

      使用这些特性有助于编写更加清晰,精悍,安全的代码。

    1.静态导入

      JDK5.0增加的静态导入语法用于导入指定类的某个静态属性值(方法),

      或全部静态属性值(方法) 静态导入语句使用 import static 语句

      导入指定类的单个静态属性: import static java.lang.System.out

      导入指定类全部静态属性 import static java.lang.Math.*

    2.自动装箱/拆箱

      自动装箱(autoboxing):把一个基本数据类型直接赋给对应的包装类变量, 或者赋给 Object 变量

      自动拆箱:把包装类对象直接赋给一个对应的基本类型变量

    Ø基本数据类型的自动拆箱与装箱

    • 自动装箱: Integer num1 = 12;
    • 自动拆箱: System.out.println(num1 + 12);

        基本数据类型的对象缓存: Integer num1 = 12; Integer num2 = 12;

        //这块相等,<=127都是真的 System.out.println(num1 == num2);

        Integer num3 = 129; 这块不相等,因为是对象 Integer num4 = 129;

        System.out.println(num3 == num4); Integer num5 = Integer.valueOf(12);

        Integer num6 = Integer.valueOf(12) ; 这块的道理同上 System.out.println(num5 == num6);

      自动拆装箱
      * 针对java八大基本数据类型推出
      * question1:
      * int
      * double
      * float
      * byte
      * char
      * short
      * boolean 布尔
      * long

    3.for-each循环

    使用foreach循环遍历数组和集合元素时, 无须获得数组和集合长度, 无须根据索引来访问数组元素和集合元素, forearch 循环自动遍历数组和集合的每个元素

    语法格式: for(type varName : array | collection) { //varName 自动迭代访问每一个元素 }

    4.可变参数

    从JDK5.0 开始, Java 允许定义形参长度可变的参数,从而允许为方法指定数量不确定的形参 若在定义方法时,

    在最后一个形参的类型后增加三点(…), 则表明该形参可以接受多个参数值, 多个参数值被当成数组传入 可变形参只能处于形参列表的最后,

    所以一个方法最多只能有一个长度可变的形参 调用包含一个可变形参的方法时, 可以为该形参传入多个参数或一个数组

    5.枚举类入门

    JDK5 新增的enum关键字用于定义枚举类 枚举类和普通类的区别:

    使用 enum 定义的枚举类默认继承了java.lang.Enum类 枚举类的构造器只能使用private访问控制符 枚举类的所有实例必须在枚举类中显示列出(”,”分隔,”;”结尾). 列出的事例系统会自动添加 public static final 修饰 所有的枚举类都提供了一个values方法, 该方法可以很方便地遍历所有的枚举值 JDK5.0 中可以在 switch 表达式中使用枚举类的对象作为表达式, case 子句可以直接使用枚举值的名字, 无需添加枚举类作为限定


    java代码(自动拆装箱)

    public class Demo1 {
        public static void main(String[] args) {
            int i=200;
            Integer int1=300;
            Integer int2=300;
            System.out.println(int1==int2);
            System.out.println(int1.equals(int2));
            System.out.println("-----------------------");
    
            Integer int3=100;
            Integer int4=100;
            System.out.println(int3==int4);
            System.out.println(int3.equals(int4));
            System.out.println("--------------------------");
    
    
    
            Integer int5=Integer.valueOf(103);
            Integer int6=Integer.valueOf(103);
            System.out.println(int5==int6);
            int x = int5;
        }
    }

    java代码(for循环)

    public class Demo3 {
        public static void main(String[] args) {
            int[] arr = new int[]{10,20,30,40,50};
            for (int i:arr) {
                System.out.println(i);
            }
    
            Set<String> set = new HashSet();
            set.add("a");
            set.add("b");
            set.add("c");
            set.add("d");
            set.add("e");
            for (String s:
                 set) {
                System.out.println(s);
            }
    
    
        }
    }

    java代码(可变参数)

    public class Demo4 {
        public static void main(String[] args) {
            Demo4.fun("aa");
            Demo4.fun("bb",1);
            Demo4.fun("cc",1,2,3);
            int[] arr = new int[]{10,20,30};
            Demo4.fun("dd",arr);
    
        }
        public static  void fun(String s,int... x){
            System.out.println("___________");
            System.out.println(x.length);
            for (int i: x) {
                System.out.println(i);
    
            }
        }
    }

    心得:

      总会有些人,与我们渐行渐远。努力才能找到方向、找到方法,至少能够让自己变得真正优秀起来。

      只有站在足够的高度上,才会拥有更多的选择权利,也才有可能引导生活向你所希望的方向行进。

  • 相关阅读:
    Largest Rectangle in Histogram
    Valid Sudoku
    Set Matrix Zeroes
    Unique Paths
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Path Sum II
    Path Sum
    Validate Binary Search Tree
    新手程序员 e
  • 原文地址:https://www.cnblogs.com/dyywht/p/13567021.html
Copyright © 2020-2023  润新知