您的位置:首页 > 编程语言 > Java开发

java处理mysql里面字段的空值

2016-06-10 16:45 507 查看
package mytest;

public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub
String aString=new String("");
String bString=new String("");

String cString=null;
String dString="";
String eString="";
System.out.println("1xxxxx"+String.valueOf(aString==""));

System.out.println("2xxxxx"+String.valueOf(aString==bString));

System.out.println("3xxxxx"+String.valueOf(aString==cString));

System.out.println("4xxxxx"+String.valueOf(aString.equals("")));

System.out.println("5xxxxx"+String.valueOf((aString.equals(cString))));

System.out.println("6xxxxx"+String.valueOf(aString.equals(bString)));

System.out.println("6xxxxx"+String.valueOf(dString==eString));
}

}

首先要知道java里面的空字符串如果是静态字符串的话,也就是使用String a=“”;那么这样指向的其实都是同一个对象。而==是用来判断对象的,equals用来判断值,所以上面的结果会返回:

1xxxxxfalse

2xxxxxfalse

3xxxxxfalse

4xxxxxtrue

5xxxxxfalse

6xxxxxtrue

6xxxxxtrue

现在回到题目了,判断mysql返回为空的字段怎么判断,开始的时候代码是这么写的:

String keywords="";
keywords=result_clusterRate.get(i)[3];

if(keywords==null||keywords==""){
keywords="其他";
//System.out.println(cluster+":"+keywords);
}

这里的resultRate.get函数在空字段的时候会返回空字符串(而不是null),但是他实际上相当于是new了一个空字符串,所以这么写是错的。
判断mysql返回的字段是否为空,还是应该使用equals方法,或者使用keywords.length()<=0的方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: