Frage

Frühling: In meinem context.xml, ich habe:

<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> 

In meinem Java-Bean, die Umsetzung ist:

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

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

Nach der Ausführung des avobe Codeblock, zu finden ist sehr seltsam falsch! Woher? Jede Anregung / Idee? Dank einem Haufen.

War es hilfreich?

Lösung

Aus der Spitze von meinem Kopf - ich bin mir ziemlich sicher, dass Frühling erfordert keine doppelten Anführungszeichen für String-Daten. So ist es wahrscheinlich diese Zeichenfolge in die Karte mit dem tatsächlichen doppelten Anführungszeichen am Anfang und am Ende eingefügt wird.

Versuchen Überprüfung

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

, um zu sehen, ob dies der Fall ist.

Andere Tipps

Ich denke, es ist, weil Sie die Werte in der Frühlings-Config zitiert habe und enthält dann die Prüfung für einen String ohne Anführungszeichen sucht. Ersetzen Sie springen Config mit diesem:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top