Can not issue NULL query
来源:互联网 发布:java编程思想 新手 编辑:程序博客网 时间:2024/05/29 18:48
问题描述: 判断一个用户的性别,是男生就用“-1”判断,是女生就用“1”来判断,根据男女不同,执行的sql语句也不同。
前期我写了一个:String sql=null;
接着就是用if语句判断男女,在if里面为sql赋值。
但是测试的时候报错了,null query,debug的时候发现根本没有执行if语句。
原因在这里:
if(gender=="-1"){sql22 = "。。。。。。。。。。" ;}else if(gender=="1"){ sql22 = "。。。。。。。。。" ;}else{group.setResult_code("SQLException");}
因为gender是一个String类,String类是覆写了equals方法的,所以用gender.equals()是判断字符串的内容,而不是我以为的内存地址。
这里再附上 ==和euqals的区别:
1. == 是一个运算符。
2.Equals则是string对象的方法,可以.(点)出来。
我们比较无非就是这两种 1、基本数据类型比较 2、引用对象比较
1、基本数据类型比较
==和Equals都比较两个值是否相等。相等为true 否则为false;
如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。
如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。
2、引用对象比较
==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;
需注意几点:
1、string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同; 2、当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。 所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的;
3、基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;
总结出来就是:
1、同一对象,"=="和equals结果相同
2、如果值不相同,对象就不相同,所以"==" 和equals结果一样
3、对象不同,内容相同,"=="返回false,equals返回true
1 0
- Can not issue NULL query
- Can not issue NULL query. with root cause
- java.sql.SQLException: Can not issue empty query.
- Can not issue data manipulation......
- Can not issue executeUpdate() for SELECTs
- Can not found socket (isis issue)
- Can not issue data manipulation statements with executeQuery()错误解决
- Can not issue data manipulation statements with executeQuery()错误解决
- Can not issue data manipulation statements with executeQuery()错误解决
- java.sql.SQLException: Can not issue executeUpdate() for SELECTs
- Can not issue data manipulation statements with executeQuery().
- sandisk TF卡 can not format issue 解决方法
- 兔子-- Can not issue data manipulation statements with executeQuery()
- Can not issue data manipulation statements with executeQuery()解决方案
- Can not issue data manipulation statements with executeQuery()
- Can not issue data manipulation statements with executeQuery()
- Can not issue data manipulation statements with executeQuery()错误解决
- Can not issue data manipulation statements with executeQuery().
- 判断一个字符是否包含在另一个字符里面
- PHP调试技术手册V1.0.0 (内含PDF)
- BZOJ 4522 Pollard-rho+exgcd
- 2017年2月27日手记
- php常用的正则匹配
- Can not issue NULL query
- mysql date_add函数
- 利用 LeakCanary 来检查 Android 内存泄漏
- Java并发编程(3)-- Thread
- redis StackExchange 主备 实现 demo
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
- STl的一些具体的例题的应用
- sql语句获取想要字段中值与实际值不一样时的拼写
- 安卓SQLite打开数据库的错误