几乎所有语言或多或少提供过一些语法糖来方便程序员代码开发 ### 泛型 本质是参数化类型或参数化多态的应用,可以将操作的数据类型指定为方法签名中的一种特殊参数,这种参数类型能够用在类、接口和方法的创建中,分别构成泛型类泛型接口和泛型方法 Java 和 C \#的泛型 Java 泛型实现为"类型擦除式泛型",C\#的泛型为 "具现化泛型" 泛型擦除 两个方法使用泛型入参后无法重载编译,但是返回值不一样之后可以重载 Valhalla 改进语言的缺陷,泛型缺陷为其主要目标之一 ### 自动装箱、插箱和遍历循环 遍历循环代码被还原为迭代器的事项 包装类的"\=="运算在不遇到算术运算的情况下不会自动插箱,以及它们的 equals ()方法不处理数据类型的关系 ### 条件编译 根据布尔常量值的真假,编译器会把分支中不成立的代码块消除掉,在编译器解除语法糖阶段中完成,由于使用了 if 语句,必须遵循最基本的 Java 语法,只能写在方法体内部,只能实现语句基本块级别的条件编译