<!--[endif]-->
Varargs、printf()、static import
Varargs
方法参数中如果有不定数量的参数,以前的版本要使用该方法前需要将参数放入一个数组中,然后将该数组传入方法的参数中。如:
Object[] arguments = {new Integer(7),new Date(),"a disturbace in the Force"};
String result = MessageFormat.format("at {1,time} on {1,date},there was {2} on planet {0,number,integer}",arguments)
<!--[if !supportEmptyParas]--> <!--[endif]-->
现在可以用下面的声明方法:
public static String format(String patter, Object... arguments);
"..."表明最后一个参数可能以数组形式或顺序传入参数。只能用于最后一个参数。
String result = MessageFormat.format("xxxx",new Integer(7),new date(),"ssss");
对此种方法不应重载。重载之后很难分辨哪个方法被调用。
<!--[if !supportEmptyParas]--> <!--[endif]-->
printf()
public PrintStream printf(String format,Object... args)=
out.format(format,args);
<!--[if !supportEmptyParas]--> <!--[endif]-->
<!--[if !supportEmptyParas]--> <!--[endif]-->
static import
如果要使用某个类声明的静态成员,可以在"import"部分直接引入该类的静态成员。在使用时不再需要声明类作限定符。
import static java.lang.Math.*;
<!--[if !supportEmptyParas]--> <!--[endif]-->
double r = cos(PI*2);
一般情况下要慎用该功能,滥用该功能会导致代码难以阅读且不易维护。
建议引入时仅引入你常用的那个常量,也就是说不要引入所有常量。