当前位置 主页 > 网站技术 > 代码类 >

    java7钻石语法知识点总结

    栏目:代码类 时间:2019-11-24 15:04

    针对创建泛型定义和实例太过繁琐的问题,Java 7做了一项改进,以减少处理泛型时敲键盘的次数。比如你用userid(整型值)标识一些user对象,每个user都对应一个或多个查找表1。这用代码应该如何表示呢?

    一种为提高处理速度而用查询取代计算的处理机制。一般是将事先计算好的结果存在数组或映射中,然后在需要该结果时直接读取,比如用三角表查某一角度的正弦值。——译者注

    Map<Integer, Map<String, String>> usersLists = 
        new HashMap<Integer, Map<String, String>>(); 

    这简直太长了,并且几乎一半字符都是重复的。如果能写成

    Map<Integer, Map<String, String>> usersLists = new HashMap<>();

    让编译器推断出右侧的类型信息是不是更好?神奇的Coin项目满足了你这个心愿。在Java 7中,像这样的声明缩写完全合法,还可以向后兼容,所以当你需要处理以前的代码时,可以把过去比较繁琐的声明去掉,使用新的类型推断语法,这样可以省出点儿空间来。

    编译器为这个特性采用了新的类型推断形式。它能推断出表达式右侧的正确类型,而不是仅仅替换成定义完整类型的文本。

    为什么叫“钻石语法

    把它称为”钻石语法”是因为这种类型信息看起来像钻石。原来提案中的名字是“为泛型实例创建而做的类型推断改进”(Improved Type Inference for Generic Instance Creation)。这个名字太长,可缩写ITIGIC听上去又很傻,所以干脆就叫钻石语法了。

    新的钻石语法肯定会让你少写些代码。我们最后还要探讨Coin项目中的一个特性——使用变参时的警告信息。

    以上就是关于java7中钻石语法的概念知识点,希望我们整理的内容能够帮助到大家。