簡體   English   中英

Spring context.xml和Set.contains()

[英]Spring context.xml and Set.contains()

春季:在我的context.xml中,我有:

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

在我的Java bean中,實現是:

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

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

執行avobe代碼塊后,發現很奇怪的是假! 怎么會? 有什么建議/想法嗎? 謝謝你

讓我煩惱的是-我很確定Spring不需要String數據使用雙引號。 因此,可能會將這些字符串插入到映射中,在開頭和結尾處使用實際的雙引號字符。

嘗試檢查

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

看是否是這種情況。

我認為這是因為您已經在Spring配置中引用了值,然后contains檢查正在尋找未引用的字符串。 用以下命令替換spring配置:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM