zoukankan      html  css  js  c++  java
  • java9语法变更

    java9的更新主要是新增的jigsaw的模块化系统,语法上并没有很大的变化,这里简单记录语法上的变化并附上案例。

    try-with-resources

    jdk7中引入try-with-resources由语言自身管理closable资源的关闭

    Resource resource1=new Resource();
    try(Resource r1 = resource1){
    }
    

    jdk9中使用时可以进一步省去在try语句中定义Resource r1

    Resource resource1=new Resource();
    try(resource1){
    }
    

    这里resource1必须是final或效果等价于final的变量。

    @SafeVarargs

    SafeVarargs是用于标注在包含泛型入参的方法上,标识该方法不会出现类型安全问题,在JDK9之前,这个注解只能加在静态方法和final方法上(他们都不可被override),现在可以加在私有实例方法上了。

    匿名类可以使用泛型

    JDK9之前匿名类无法使用钻石描述符(即<>),在jdk9中对于可以明确类型的匿名类可以使用钻石描述符了:

        List<String> a=new ArrayList<>(){};	//可以编译
        a=new ArrayList<>(){}; 				//无法确定泛型类型无法编译
    

    禁用变量名“_”

    变量名不能是“_”。

    int _=1; //jdk9中报错
    

    接口的私有方法

    jdk8中在接口中可以加入static 方法

    interface Interface {
        static void method() {
        }
    }
    

    但该方法是public的没有办法在子类之间共享代码而不外露,jdk9中可以使用私有方法实现子类间的代码共享

    interface Interface {
        static void staticMethod() {
        }
    
        private void privateMethod(){
        }
    }
    class Instance implements Interface{
        void test(){
            Interface.super.privateMethod();
        }
    }
    
  • 相关阅读:
    jquery toggle(listenerOdd, listenerEven)
    struts quick start
    hdu 1518 Square (dfs)
    hdu 2544 最短路 (最短路径)
    hdu 1754 I Hate It (线段树)
    hdu 1856 More is better (并查集)
    hdu 1358 Period (KMP)
    hdu 2616 Kill the monster (DFS)
    hdu 2579 Dating with girls(2) (bfs)
    zoj 2110 Tempter of the Bone (dfs)
  • 原文地址:https://www.cnblogs.com/resentment/p/7819550.html
Copyright © 2011-2022 走看看