Java读取数据进行equals比较不相等
来源:互联网 发布:淘宝代购服务店加盟 编辑:程序博客网 时间:2024/06/06 07:20
今天写Java应用的时候从sql2008数据库读取数据进行equals比较,rs.getString(1).equals("abc")返回false,明明读取到的是abc,却偏偏返回false,非常郁闷。折腾了半天才发现这并不是代码问题,而是sql2008数据库里的nchar数据类型是固定长度的,当数据长度不足时将会自动在数据后面加上空格以达到规定的长度,因此当读取数据库的数据直接进行比较时,实际上该数据后面可能带有空格,自然无法得到我们希望的结果啦。
解决办法:
方法1、对rs.getString(1)进行处理,在后面加上trim()方法:rs.getString(1).trim()
方法2、对sql语句进行处理,slelect ltrim(rtrim(username)) from users(注意sql中没有trim())
方法3、修改数据库里数据类型,将char/nchar修改为varchar/nvarchar
- Java读取数据进行equals比较不相等
- 读取DataTable中的数据,一行一行进行比较
- java类对象进行equals比较的方法
- Java中重写equals函数加判断自己定义的对象相不相等
- Java中数据比较方式之==和equals比较
- JAVA中Long与Integer比较容易犯的错误(比较数据equals)
- 空格导致equals两端不相等问题
- java读取输入(Scanner,equals)
- Java字符串比较(equals)
- java中字符串的比较,必须使用string1.equals(string2)来进行判断
- Java中的数据比较(再谈==与equals的区别)
- Java中的数据比较(再谈==与equals的区别)(
- Java中的数据比较(再谈==与equals的区别)
- java读取文件数据进行一些简单处理的例子
- java读取文件数据进行一些简单处理的例子
- hashCode不相等则equals一定不相等,equals相等则hashCode一定相等,覆盖equals时总要覆盖hashCode(记录一下)
- 两个Integer值比较不相等问题
- Shell字符串比较相等、不相等方法小结
- hadoop上运行c++程序步骤
- 【Android】异步加载网络图片!!!!
- jsp中The absolute uri: http://java.sun.com/jsp/jstl/core出问题
- 思考与总结【0】:持续不断的思考
- 动态控制表格insertRow,insertCell()
- Java读取数据进行equals比较不相等
- Fabric 学习笔记
- 写五子棋游戏有感
- 相关关系与因果关系之探讨——大数据时代读后感(1)
- hdu oj 2018
- 堆排
- 初识shell编程
- DNS FAILOVER SETTING
- 谨慎使用String作为HashMap的Key