我有一张像这样的 map
Map<BigDecimal, String> functions = new HashMap<BigDecimal, String>();
当我尝试从 JSF 页面访问 map 的值时,它什么也不显示。我检查了 map 的大小,它返回一个数字,它似乎不为空。这是 JSF 页面代码
<p:dataTable value="#{bean.permissions}" var="permission">
<p:column>
#{bean.functions[permission.functionId]}
</p:column>
</p:dataTable>
这是怎么造成的,如何解决?
最佳答案
如果两个 BigDecimal 的小数位数不相等,即使它们表示相同的数值,它们也不相等。这就是为什么他们可能无法制作出好的 map 键。
对于表示具有不同比例的相同值的两个 BigDecimal,compareTo() 将返回 0,但 equals() 将返回 false。
关于java - 无法通过键获取 Map<BigDecimal, String> 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16617718/