2017-08-10 3 views
-2

Y a-t-il un autre moyen de remplacer 'null' pour le correctif de déférence nul HP Fortify. null passe à l'une de mes requêtes HQL, donc je ne peux pas utiliser 'StringUtil.EMPTY' pour remplacer null.Comment remplacer 'null' dans Java

setAdminCurriculums(getAgencyBA().getCurriculumListByCompany(**null**, false)); 

* 
* 
* 
* 

La valeur nulle passe au code inférieur.

public String getCurriculumListByCompany(String company, String isCorrect){ 
* 
* 
* 
    String hql = "select id from UserData where userId = " + company; 
* 
* 
} 
+2

que voulez-vous 'null' devenir? Vous utilisez sa valeur pour sélectionner à partir d'un DB –

+0

Quelle est la première ligne censée faire? La méthode 'getCurriculumListByCompany' renvoie-t-elle quelque chose lorsqu'elle est appelée avec' null' comme premier paramètre? – Aaron

+1

Et pourquoi un utilisateur est-il une entreprise? – EJP

Répondre

1

Cela dépend de ce que vous voulez faire lorsque la valeur 'null' est passée. Si vous ne pouvez pas garantir que 'null' ne sera jamais transmis, vous devrez le faire dans la méthode où cela peut se produire.

Par exemple, si vous voulez qu'il soit une chaîne vide, dans la méthode que vous pouvez vérifier:

company = company != null ? company : ""; 

Puisque vous avez affaire à une requête un peu plus loin, je suppose que cela est en fait pas la comportement recherché. Mais qu'est-ce que tu veux faire? Si aucune entreprise n'est adoptée, voulez-vous que ce soit une entreprise? Passer une valeur Null n'a pas besoin d'être un problème en soi.

String hql = "Select id from UserData"; 
if(company != null) { 
    String hql += " where userId = " + company; 
} 

Vous devriez avoir le code traiter de manière appropriée - mais à partir de votre description je ne peux pas déduire quelle serait la bonne solution. Si vous souhaitez qu'une valeur null ne soit pas autorisée, vous pouvez lui donner une annotation @NotNull afin qu'elle génère une erreur si cela se produit.

public String getCurriculumListByCompany(@NotNull String company, String isCorrect){ 

Ou encore, jetez-vous l'erreur dans la méthode comme une déclaration de garde:

public String getCurriculumListByCompany(String company, String isCorrect){ 
     if(company == null){ 
      throw new RuntimeException("Company should not be null!"); 
     } 
     .. 
}