针对创建泛型定义和实例太过繁琐的问题,Java 7做了一项改进,以减少处理泛型时敲键盘的次数。比如你用userid(整型值)标识一些user对象,每个user都对应一个或多个查找表1。 这用代码应该如何表示呢? 一种为提高处理速度而用查询取代计算的处理机制。一般
针对创建泛型定义和实例太过繁琐的问题,Java 7做了一项改进,以减少处理泛型时敲键盘的次数。比如你用userid(整型值)标识一些user对象,每个user都对应一个或多个查找表1。
这简直太长了,并且几乎一半字符都是重复的。如果能写成
让编译器推断出右侧的类型信息是不是更好?神奇的Coin项目满足了你这个心愿。在Java 7中,像这样的声明缩写完全合法,还可以向后兼容,所以当你需要处理以前的代码时,可以把过去比较繁琐的声明去掉,使用新的类型推断语法,这样可以省出点儿空间来。 编译器为这个特性采用了新的类型推断形式。它能推断出表达式右侧的正确类型,而不是仅仅替换成定义完整类型的文本。 为什么叫“钻石语法” 把它称为”钻石语法”是因为这种类型信息看起来像钻石。原来提案中的名字是“为泛型实例创建而做的类型推断改进”(Improved Type Inference for Generic Instance Creation)。这个名字太长,可缩写ITIGIC听上去又很傻,所以干脆就叫钻石语法了。 新的钻石语法肯定会让你少写些代码。我们最后还要探讨Coin项目中的一个特性——使用变参时的警告信息。 |
2021-06-05
2021-05-27
2021-05-26
2021-06-05
2021-05-16