我有一个代码,像这样
public static Response updateDataFiles(String id, String checksum){
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
Transaction trans = session.beginTransaction();
Files files = (Files) session.get(Files.class, id);
System.out.println("checksum "+checksum);
System.out.println("checksum file "+files.getChecksumFile());
String checksumFile = files.getChecksumFile();
if(checksum == checksumFile){
System.out.println("upload success");
files.setStatusUpload(EnumStatusUpload.statusUpload.UPLOADED_AND_SUCCESS.toString());
}else{
System.out.println("upload success but checksum error");
files.setStatusUpload(EnumStatusUpload.statusUpload.UPLOADED_BUT_ERROR_CHECKSUM.toString());
}
session.update(files);
trans.commit();
session.flush();
session.close();
Response respon = new Response();
respon.status = 200;
return respon;
}
在if(checksum == checksumFile)
有问题时,校验和变量和校验和文件具有相同的值,但是如果没有执行正确的条件,则执行其他条件。在我的日志中,我看到了校验和变量的值,以及像这样的校验和文件
checksum 9d73d945294d5488056bb5da54f62e8f
checksum file 9d73d945294d5488056bb5da54f62e8f
我不知道我的代码有什么问题。谁能帮我?对不起我的英语不好