J2SE 1.5新特性简介

http://tech.ddvip.com   2006年11月25日    社区交流

本文详细介绍J2SE 1.5新特性简介

  3. 参数可变的方法和printf

  代码示例

  当不能确定一个方法的入口参数的个数时,以往版本的Java中,通常的做法是将多个参数放在一个数组或者对象集合中作为参数来传递,1.5版本以前的写法是:

  int sum(Integer[] numbers)
{
 int nSum = 0;
 for(int i: numbers)
  nSum += i;
  return nSum;
}
...
//在别处调用该方法
sum(new Integer[] {12,13,20});

  而在1.5版本中可以写为:

int sum(Integer... numbers)
{
int nSum = 0;
for(int i: numbers)
nSum += i;
return nSum;
}
...
//在别处调用该方法
sum(12,13,20);

  显然,1.5版本的写法更为简易,也更为直观,尤其是方法的调用语句,不仅简化很多,而且更符合通常的思维方式,更易于理解。

  1.5版本自身就有一个应用该特征的典型例子,即C风格的格式化输出方法——printf。

  代码示例

  输出一个加法算式,1.5版本以前的写法是:

int x = 5;
int y = 7;
int nSum = x + y;
System.out.println(x + " + " + y + " = " + nSum);

  而在1.5版本中可以写为:

System.out.printf("%d + %d = %d
", x, y, nSum);

  以上两种写法的输出结构是一样的,即“5 + 7 = 12”。

  这种改变不仅仅是形式上的,printf还可以提供更为灵活、强大的输出功能,比如限定按照两位整数的形式输出,可以写为“System.out.printf("%02d + %02d = %02d ", x, y, nSum);”,输出结果将是“05 + 07 = 12”。

责编:豆豆技术应用

正在加载评论...