我有一个应该读取所有公共方法(包括超类)并为每个非空属性存储它的 hashCode 的方法。
private static String reflect(Object o) {
StringBuilder key = new StringBuilder();
try {
for (Method m : o.getClass().getMethods()) {
if (m.getName().startsWith("get") || m.getName().startsWith("is")) {
Object result = m.invoke(o, new Object[]{});
key.append(result != null ? result.hashCode() : "-");
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return key.toString();
}
这段代码可以吗,还是我忘记了与我的需求相关的重要内容?