Question

Spring: Dans mon fichier context.xml, j'ai:

<util:set id="someIDs" 
      set-class="java.util.HashSet"
      value-type="java.lang.String">
         <value>"W000000001"</value>
         <value>"W000000003"</value>
         <value>"W000000009"</value>        
</util:set> 

Dans mon bean Java, l'implémentation est la suivante:

private Set<String> someSet = 
              ComUtilities.uncheckedCast(getApplicationContext()
             .getBean("someIDs"));

boolean found = someSet.contains("W000000009");

Après l'exécution du bloc de code avobe, found est très bizarrement faux! Comment venir? Toute suggestion / idée? Merci beaucoup.

Était-ce utile?

La solution

De mémoire - je suis à peu près sûr que Spring ne nécessite pas de guillemets doubles pour les données String. Il s’agit donc probablement d’insérer ces chaînes dans la carte avec des caractères de guillemet doubles au début et à la fin.

Essayez de vérifier

boolean found = someSet.contains("\"W000000009\"");

pour voir si c'est le cas.

Autres conseils

Je pense que c'est parce que vous avez cité les valeurs dans la configuration de Spring, puis que la vérification contient contient une chaîne sans guillemets. Remplacez votre configuration de printemps par ceci:

<util:set id="someIDs" 
  set-class="java.util.HashSet"
      value-type="java.lang.String">
             <value>W000000001</value>
             <value>W000000003</value>
             <value>W000000009</value>            

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top