一、可变参数
Java5引入了可变参数,它使我们能够向方法传递可变数量的参数。这对于编写某些类型的方法非常有用,例如打印格式化的字符串。
示例代码:
public void printValues(String... values) { for (String value : values) { System.out.println(value); } } printValues("value1", "value2", "value3");
在这个示例中,我们定义了一个接受可变数量参数的方法printValues。我们可以使用任意数量的字符串来调用printValues方法。
二、枚举
Java5引入了枚举类型。这是一种新的数据类型,可以让我们以更安全的方式定义一组常量。枚举比常量更易于使用和维护。
示例代码:
public enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } DayOfWeek today = DayOfWeek.MONDAY;
在这个示例中,我们定义了一个DayOfWeek枚举类型,它包含一周中的每一天。我们可以使用DayOfWeek枚举类型来表示日期和星期几。
三、自动装箱和拆箱
Java5引入了自动装箱和拆箱,它们可以将基本类型和对应的包装类型之间进行自动转换。这样,我们就可以将基本类型放入集合类中,而不必将其转换为对应的包装类型。
示例代码:
Listnumbers = new ArrayList (); numbers.add(1); numbers.add(2); numbers.add(3); int sum = 0; for (int number : numbers) { sum += number; }
在这个示例中,我们将整数类型的值自动装箱为Integer对象,然后将它们添加到数字列表中。随后,我们可以使用普通的for-each循环来遍历该列表,并将其值拆箱为基本类型。
四、注释
Java5引入了新的注释类型。在Java5之前,注释只能是单行或多行。Java5引入了一种新的注释类型,称为注释中的注释(也称为JavaDoc注释)。它使用特殊的标记和格式来生成API文档。
示例代码:
/** * 取得圆的面积。 * * @param radius 圆的半径 * @return 圆的面积 */ public double getCircleArea(double radius) { return Math.PI * radius * radius; }
在这个示例中,我们使用JavaDoc注释来文档化我们的getCircleArea方法。JavaDoc注释包含一个摘要部分和一个描述部分,以及用于标记参数、返回值和异常的标记。
五、for-each 循环
Java5引入了新的for-each循环,它使我们能够更容易地遍历数组和集合。for-each循环比传统的for循环更简洁、更易于阅读和维护。
示例代码:
Listnames = new ArrayList (); names.add("Alice"); names.add("Bob"); names.add("Charlie"); for (String name : names) { System.out.println(name); }
在这个示例中,我们使用for-each循环来遍历名字列表,并将每个名字打印到控制台上。
结论
Java5引入了许多重要的新特性和改进,包括可变参数、枚举、自动装箱和拆箱、注释以及for-each循环。这些新特性使编写Java代码更加容易、更加灵活,同时也提高了代码的可读性和可维护性。