gpt4 book ai didi

java - 如何检查 List 是否包含一个值?

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:36 24 4
gpt4 key购买 nike

我有 list List<Long> list ,其中包含:[160774, 7212775] 和 Long id = 7212775 .我需要检查列表是否包含值为 id 的元素.怎么做?遗憾list.contains(id)返回 false就我而言。

我就是这样使用它的:

@RequestMapping("/case/{id}")
public String openCase(@PathVariable("id") Long id) {

log.debug(caseDAO.findAllCasesId()); // [160774, 7212775]
log.debug(id); // 7212775

if(caseDAO.findAllCasesId().contains(id)) {
return "case";
} else {
return "404";
}
}

DAO 的一部分(Hibernate,但这里是原生 sql):

public List<Long> findAllCasesId() {
String sql = "select id from cases";
SQLQuery query = getSession().createSQLQuery(sql);
return query.list();
}

已解决

问题出在 caseDAO.findAllCasesId() ,返回列表 Object , 不是 Long 的列表.我通过以下方式更正了这一点:

SQLQuery query = getSession().createSQLQuery(sql).addScalar("id", Hibernate.LONG);

非常感谢:Nayuki Minase

最佳答案

当自动装箱时,您需要确保用 L 对文字进行后缀,即 Long id = 7212775L 才能正常工作。

关于java - 如何检查 List<Long> 是否包含一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7113715/

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