昨天在学习中国大学Mooc《Java核心技术》(高阶)的Java的注解——注解的解析一节时,遇到一个比较有趣的示例程序。想自己改一改,没想到七八个小时就这么没了。
Java的学习之路竟然是如此漫长!个中辛酸只有经历过一次次的代码调试的自己知道。
收获如下:
命令行中编译程序:
C:\01.iworkspace\eclipseWorkspace_202301\JavaCoreTechLearning\src\pc05_05>javac -d ../../bin *.java -encoding utf-8
C:\01.iworkspace\eclipseWorkspace_202301\JavaCoreTechLearning\src\pc05_05>javac -cp .;C:\01.iworkspace\eclipseWorkspace_202301\JavaCoreTechLearning\bin -processor pc05_05.ToStringAnnotationProcessor *.java -encoding utf-8
自动生成的Java文件:
// Automatically generated by sourceAnnotations.ToStringAnnotationProcessor, by PDH, 2023-02-03 01:01:31
package pc05_05;
public class ToStringGenerator {
public static String toString(pc05_05.Point obj) {
StringBuilder result = new StringBuilder();
result.append("[");
result.append(toString(obj.getX()));
result.append(",");
result.append(toString(obj.getY()));
result.append("]");
return result.toString();
}
public static String toString(pc05_05.Rectangle obj) {
StringBuilder result = new StringBuilder();
result.append("pc05_05.Rectangle");
result.append("[");
result.append(toString(obj.getTopLeft()));
result.append(",");
result.append("width=");
result.append(toString(obj.getWidth()));
result.append(",");
result.append("height=");
result.append(toString(obj.getHeight()));
result.append("]");
return result.toString();
}
public static String toString(Object obj) {
return java.util.Objects.toString(obj);
}
}