我有int[]
的表格。我和每个用户都有循环,我做了:
int[] ids = (values)
for (User user : listAfterProcessing) {
if (user.getId().equals(ids)) { ... }
}
他们没有工作,虽然用户ID在这个表中... 感谢您的帮助:)
答案 0 :(得分:3)
您正在检查getId()
的结果是否等于整个数组ids
,默认情况下是与数组的哈希码的比较。
根据这个问题的答案:How to convert int[] into List<Integer> in Java?
没有快速的转换方式。
我在答案的第一个版本中提出的Arrays.asList()解决方案在这里没有用,抱歉。
答案 1 :(得分:0)
将int
数组与单个Integer
进行比较无法获得所需的结果。您可以遍历整个数组并测试每个单元格的值,或者您可以保持数组排序并进行二进制搜索:
import java.util.Arrays;
Arrays.sort(ids);
if(Arrays.binarySearch(ids, user.getId().intValue()) >= 0) {}