波斯汪
我经常使用varargs输出到日志以进行调试。几乎我的应用程序中的每个类都有一个方法debugPrint():private void debugPrint(Object... msg) {
for (Object item : msg) System.out.print(item);
System.out.println();}然后,在类的方法中,我有如下调用:debugPrint("for assignment ", hwId, ", student ", studentId, ", question ",
serialNo, ", the grade is ", grade);当我对我的代码正常工作感到满意时,我会在debugPrint()方法中注释掉代码,这样日志就不会包含太多无关和不需要的信息,但是我可以将对debugPrint()的各个调用取消注释。稍后,如果我发现了一个错误,我只需取消注释debugPrint()代码,并重新激活我对debugPrint()的所有调用。当然,我可以轻易地避开varargs并执行以下操作:private void debugPrint(String msg) {
System.out.println(msg);}debugPrint("for assignment " + hwId + ", student " + studentId + ", question "
+ serialNo + ", the grade is " + grade);但是,在这种情况下,当我注释掉debugPrint()代码时,服务器仍然需要在每次调用debugPrint()时连接所有变量的麻烦,即使对结果字符串没有任何处理。但是,如果我使用varargs,服务器只有在意识到它不需要它们之前才必须将它们放在一个数组中。节省了很多时间。