码上敲享录 > java常见报错解答 > List的contains方法老是返回false的解决法

List的contains方法老是返回false的解决法

上一章章节目录下一章 2017-10-17已有4693人阅读 评论(0)

List的contains方法老是返回false的解决法:

今天遇到一个奇怪的问题,

String hql="select ur.id.userId from SysUserRole ur,SysRole r where r.roleId=ur.id.roleId and r.roleName='经办人'";

List<String> sysRolesIds =sysProcessDao.find(hql);

上面的结过会返回List集合,存放的是String类型,也有数据返回 [33,22,66],没报错。但执行sysRolesIds.contains("33")这个语句老是返回false。

最后发现,userId在实体中是Integer类型,修改如下:

List<Integer> sysRolesIds =sysProcessDao.find(hql);

再执行sysRolesIds.contains("33")这个语句,返回true,原来是类型不匹配。

总结:一般来说集合中的方法contains老是返回false的错误,是因为两者类型不一致所致。


本文地址:http://yayihouse.com/yayishuwu/chapter/1007


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交