effective Java
bulingbuling^_^
这个作者很懒,什么都没留下…
展开
-
注解优先于命名模式
test runner 工具以命令行方式接受一个完全限定的类名,并通过调用 Method.invoke 以反射方式运行类的所有带测试注解的方法。isAnnotationPresent 方法告诉工具要运行哪些方法。如果测试方法抛出异常,反射工具将其封装在 InvocationTargetException 中。该工具捕获这个异常并打印一个失败报告,其中包含测试方法抛出的原始异常,该异常是用 getCause 方法从 InvocationTargetException 提取的。public class .原创 2020-11-15 15:39:16 · 184 阅读 · 0 评论 -
用枚举实现接口,可扩展枚举。
才疏学浅,目前为止没见过谁在项目中这样写代码,应该是违反代码简洁易懂的原则的,Enum应该保持他绝对不变,安全的特性,但不用,不代表不该看。(本文内容摘自Effective Java 第六章38条)public class EnumImplInterface { public static void main(String[] args) { test(BasicOperation.class,15,8); test(ExtendedOperation.clas原创 2020-11-15 14:25:34 · 323 阅读 · 0 评论 -
当你覆盖 equals 方法时,你必须遵守它的通用约定之对称性
摘自Effective Java中文版对称性(symmetric):对于任何非空参考值 x 和 y,x.equals(y) 必须在且仅当 y.equals(x) 返回 true 时返回 true。看一个重写equals方法的例子。目的是忽略大小写。// Broken - violates symmetry! class CaseInsensitiveString { private final String s; public CaseInsensitiveString(S翻译 2020-10-03 13:00:03 · 188 阅读 · 0 评论