还有其他方法替换' null' for HP Fortify null deference fix 。 null传递给我的一个HQL查询,因此我无法使用' StringUtil.EMPTY'替换null。
setAdminCurriculums(getAgencyBA().getCurriculumListByCompany(**null**, false));
*
*
*
*
null值传递给下面的代码。
public String getCurriculumListByCompany(String company, String isCorrect){
*
*
*
String hql = "select id from UserData where userId = " + company;
*
*
}
答案 0 :(得分:2)
这取决于你想要在价值' null'通过。 如果你不能保证' null'永远不会通过,你需要在可能发生的方法中处理它。
例如,如果您希望它是一个空字符串,则可以在方法中检查:
company = company != null ? company : "";
由于您正在进一步处理查询,我认为这实际上不是想要的行为。但是你想做什么?如果没有公司通过,你想让它成为任何公司吗?
String hql = "Select id from UserData";
if(company != null) {
String hql += " where userId = " + company;
}
传递Null值本身并不一定是个问题。您应该以适当的方式处理此代码 - 但从您的描述中我无法推断出正确的解决方案是什么。如果您希望不允许 null 值,则可以为其指定@NotNull
注释,以便在发生这种情况时抛出错误。
public String getCurriculumListByCompany(@NotNull String company, String isCorrect){
或者,或者,在方法中将错误作为保护语句抛出:
public String getCurriculumListByCompany(String company, String isCorrect){
if(company == null){
throw new RuntimeException("Company should not be null!");
}
..
}