Java 用于方法访问日志记录的自动化或shorcut
这可能会被认为是一个相对愚蠢的问题,但我已经厌倦了硬编码语句,例如:Java 用于方法访问日志记录的自动化或shorcut,java,logging,automation,field,shortcut,Java,Logging,Automation,Field,Shortcut,这可能会被认为是一个相对愚蠢的问题,但我已经厌倦了硬编码语句,例如: private void doStuff(){ System.out.println(this.getClass().getName().toString()+ someText);{...};} 每次我想 因此,我决定实现一个外部方法,每当我决定需要在输出流中写入某些内容时,该方法就会写入输出流,例如:。 public static void println(Object obj, String s) { Syst
private void doStuff(){
System.out.println(this.getClass().getName().toString()+ someText);{...};}
每次我想
因此,我决定实现一个外部方法,每当我决定需要在输出流中写入某些内容时,该方法就会写入输出流,例如:。
public static void println(Object obj, String s) {
System.out.println(obj.getClass().getName() + " > " + s);
}
因此,问题是,是否有一种方法可以自动将上述方法中的“s”变量的值设置为在编写源代码时始终默认为“initialized”(使用TAB完成代码,例如Netbeans)?
非常感谢。为什么不使用默认值重载该方法呢
public static void println(Object obj) {
println(obj, "Initalized");
}
public static void println(Object obj, String s) {
System.out.println(obj.getClass().getName() + " > " + s);
}
使用
varargs
作为第二个方法参数。这还允许您传递多个调试语句
public class Logger {
public static void main(String[] args) {
String test = "Test";
println(test);
println(test, "This is a test");
}
public static void println(Object obj, String...vargs) {
String defaultValue = "initialized";
if(vargs.length == 0){
System.out.println(obj.getClass().getName() + " > " + defaultValue);
}else{
for(String x: vargs){
System.out.println(obj.getClass().getName() + " > " + x);
}
}
}
}