【发布时间】:2012-09-17 06:30:07
【问题描述】:
我正在尝试检查 long 列表是否不包含某个值。似乎这个条件永远不会满足,即使我知道某个链表中不存在一个值......
for(int i : organizationIDs){
if(!ListOfOrgIds.contains(Long.valueOf(i))){
addThese.add(new Long(i));
}
}
我本质上是在寻找 orgID 数组中不存在的值,如果不存在,请将其添加到 addThese 链表中...我是否遗漏了我应该知道的 Long 的一些细微差别?
在调试器中找到的 ListOfOrgIds
14057
821
18021
在调试器中找到的组织 ID
821
14057
18021
让我这么说吧,我正看着调试器,它告诉我
ListOfOrgIds.contains(i)
是假的……这显然是不真实的……
具体来说,看看 ListOfOrgs 的值...
821 确实在里面。为什么我在 contains 调用中得到错误消息?
【问题讨论】:
-
你能再显示一些代码吗.. 因为这部分代码看起来是正确的.. 除非
addThese.add()或ListOfOrgIds没有问题,我们不知道它们的外观.. -
顺便说一句,您为什么要创建
Long的List,即使您正在向它们添加integer值?? -
应该没问题(尽管您可以使用相同的
Long两次)- 请展示一个简短但完整的程序来说明问题。 -
你能给我们一个
listOfOrgIds和organizationIDs列表的例子吗? -
@DmainEvent ->
as you can see, 14057 is not in ListOfOrgIds.. 似乎没有.. 我们在两个列表中都看到了这个值.. 我们仍然没有了解您在做什么??能贴出完整的代码吗??
标签: java linked-list contains long-integer