写多了下面的样板代码:
System.out.println("Hello World");
会觉得 System.out
有些多余。
但是 println 是不能静态导入的,即下面的代码是错误的:
import static java.lang.System.out.println; // 错误
为什么呢?两个原因:
- out 是 System的一个静态变量,但它是 PrintStream 对象的实例,out 不是一个 class。
- prinln 是 PrintStream 的实例方法,不是静态方法。
所以如果要只用 pringln,要曲折些。我们可以封装下:
public class PrintUtils {
public static void println(Object x) {
System.out.println(x);
}
public static void printlnWithFormat(Object format, Object... args) {
System.out.printf(format.toString() + "\n", args);
}
}
使用示例:
import static PrintUtils.*;
public class PrintUtilsTest {
@Test
public void test01() {
println("Hello World");
printlnWithFormat("Hello %s %s", "a", "b");
}
}