出于调试目的,我需要跟踪Class
属性更改。
例如考虑以下类:
class Test {
int myInt;
String myString;
...
public void setMyInt(int a) ...
public void setMyString(String s) ...
public printDebugLog();
}
void main() {
Test t = new Test();
t.setMyInt(5);
t.setMyString("Hello");
t.printDebugLog();
}
我想输出如下:
myInt => 5
myString => Hello
简单的解决方案是立即创建日志。即添加Log
如下功能:
void Log(String s) {
System.out.println(s);
}
然后对集合函数进行编码,如下所示:
void setMyString(String s) {
myString = s;
Log("myString => " + s);
}
这需要以各种方式编写所有设置的函数,我想知道是否有更好的解决方案。例如,创建一个SetValue
接受两个变量并将第一个属性设置为第二个对象的值的函数可能更容易(如果可能)。或类似的东西。
任何的想法?