我有一个实现Serializable的Java类:
Class A implements Serializable {
public String name;
int contact;
}
我将此Java对象存储在mongodb中。如何为该Java对象生成校验和?
public String generateChecksum throws Exception(A object){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(object);
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(baos.toByteArray());
String hex = DatatypeConverter.printHexBinary(thedigest);
System.out.println(hex);
}
我得到
oos.writeObject(object)的空指针异常。
有更好的方法吗?
答案 0 :(得分:1)
问题似乎是您的代码无法编译。
Class A implements Serializable {
public String generateChecksum throws Exception(A object){
答案 1 :(得分:0)
除非对校验和有特定要求,否则最简单的方法是使用hashCode。
@Override
public int hashCode() {
return Objects.hash(name, contact);
}
public static String hashCodeString(Object a) {
return Integer.toHexString(a.hashCode());
}