gpt4 book ai didi

java - 比较java中的int值?

转载 作者:行者123 更新时间:2023-11-29 07:51:04 24 4
gpt4 key购买 nike

当我比较 folderInfoData.getFolderInfoRecord().getInfoCode()map.get("infoCode") 时遇到问题。两者都给出 value=2 但我的问题是它没有进入 if 条件。

例子如下:

if (folderInfoData.getFolderInfoRecord().getInfoCode().equals(map.get("infoCode"))) {
showNotification(pageResourceBundle.getText("MSG_SAME_INFO_ALREADY_EXISTS"));
return;
}

在我用谷歌搜索它对我无效之前:Comparing Integer objects vs int

谁能告诉我如何解决这个问题?

谢谢

最佳答案

在评论中,您声明 map被宣布Map<String, Object> .这可能是问题所在。

当您调用 map.get("infoCode") 时你回来了一个Object .

如果:

  • 那个Object实际上是 Integer 的一个实例
  • folderInfoData.getFolderInfoRecord().getInfoCode()正在返回 Integer
  • 两个Integer s 包含相同的值

然后这个:

if (folderInfoData.getFolderInfoRecord().getInfoCode()
.equals(map.get("infoCode"))) {

计算结果为 true .

所以要么他们是两个Integers但不要都包含相同的值,或者它们是不同类型的对象并且相等。 (或者, map 中不存在“infoCode”,它返回 null)

关于java - 比较java中的int值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21178615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com