这可能是一个相对愚蠢的问题,但我厌倦了必须硬编码语句,如:
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)?
非常感谢提前。
答案 0 :(得分:0)
为什么不用默认值重载方法?
public static void println(Object obj) {
println(obj, "Initalized");
}
public static void println(Object obj, String s) {
System.out.println(obj.getClass().getName() + " > " + s);
}
答案 1 :(得分:0)
使用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);
}
}
}
}