在Java Web开发中,数据库模型使用char类型,往往会由于字符串的相等比较错误而导致莫名奇妙的程序现象。
无论是在Java中的equals或是客户端的js脚本上。
举两个具体的例子:
1.在java中把char(2)的字段带这空格拿出来和一个字符的字符串去equals,就是不相等。
2.同样的在客户端,使用js动态创建的dom对象,设置的id为从库表中带空格的char类型字段,那想根据id找到那个dom对象,难啊。
遗留的模型改不了咋办啊?想起高中同学的一句话了,审慎,在去数据的时候trim一下吧!
当你发现,配置数据怎么看怎么正确时,
当你发现模型有char(n) n>1时,
而这时程序却得不到你想要的结果时,审慎的trim一下吧!
附检查此问题的直观方法:
最简单的输出,最原始,也最有效,eg,a是取出的值,那你可以输出a+"xiacj"看一下。有无空格一目了然。