
char c='F';
String str=StringvalueOf(char);
if(strequals("F")||strequals(""))
{
Systemoutprintln(true);
}
else
{
Systemoutprintln(false);
}
首先就要确保他不是null,然后再判断他的长度。
String str = xxx;
if(str != null && strlength() != 0) { }
这种做法是安全的,首先他会判断str是否为空,如果为空那么if就直接退出了,就不会再判断后面的strlength() != 0了,这是JAVA的&&特性,也许其他语言也是这样。
扩展资料:
String字符串判定是否为空方法总结
判断一个字符串str不为空的方法有:
1 str!=null;(前提条件)
2 “”equals(str);
3 strlength()!=0;
注意:length是属性,一般集合类对象拥有的属性,取得集合的大小。
例如:数组length就是取得数组的长度。
length()是方法,一般字符串类对象有该方法,也是取得字符串长度。
例如:字符串length();
说明:
1 null表示这个字符串不指向任何的东西,那么没有是否为空的问题,因为引用的实例对象都没有。这时候如果你调用它的方法,那么就会出现空指针异常。
2”“表示它指向一个长度为0的字符串,这时候调用它的方法是安全的。
3 null不是对象,”“是对象,所以null没有分配空间,”“分配了空间,例如:
String str1 = null; str引用为空
String str2 = “”; str应用一个空串
str1还不是一个实例化的对象,儿str2已经实例化。
对象用equals比较,null用等号比较。
如果str1=null;下面的写法错误:
if(str1equals(“”)||str1==null){ }
正确的写法是 if( ( str1==null ) || str1equals(“”)){
//先判断是不是对象,如果是,再判断是不是空字符串;而且顺序不能乱 }
首先,不为null:如果为null的话,后面会传值会抛异常,如果你没做异常处理,那么会影响你后面代码的执行,也就是说程序会在抛出异常的那一刻停止运行(非循环情况)
然后,不为空(字符串中不添加任何内容s="")
有些时候,一些程序需要变量有个初始值,比如我想在s="s"的时候将它置空,然后输出,这时候s就不能为空字符串了
不过一般情况下很少做s=""判断,基本上开始都会让s="",然后在代码的执行过程中,让它等于某些值,然后进行某些判断,不过需要注意的是,在开始赋值是不能写成String s;,这样的话s就是null了,这时候如果下面有针对该值的判断,编译器就会报错if((WightUsergetText())==null||(WightUsergetText())equales(""))
即可,但是这样不会检验空格串,如果需要,使用
if((WightUsergetText())==null||(WightUsergetText()trim())equales(""))方法一:
先把int类型的数据转换成String类型,然后判断String类型的数据是否为空。
示例代码:
int point;
String val=point +"";
if(""equals(val)){
// do something
}
PS:int point不是对象,int类型为空时默认为0。
方法二:
如果point是int类型,则得到的结果是不可能是null的。
如果插入一条数据时没有插入给字段,而数据库里默认是null的值的话,可以使用
Integer point= GiftInfogetPoints();
然后判断point是否等于空。
示例代码:
Integer point= GiftInfogetPoints();
if(point == null){
// do something
}
PS:GiftInfogetPoints返回的是Integer类型,Integer类型是包括基本类型的包装类,不给赋值的时候为null。public static void main(String[] args) {
String one = "";
String two = "";
String three = "";
if ((oneisEmpty() && twoisEmpty() && threeisEmpty())
|| !(oneisEmpty() && twoisEmpty() && threeisEmpty())) {
// 值不要求一样 如果还需要验证值是否一样 在 判断后再验证是否一致
}
}
虽然都是没有信息,但是null代表堆内存中根本没有这个东西,而空字符串就完全不同了,空字符串也是字符串,他是有内存空间的
判断字符串是否为空
/判断字符串是否为空
@param str 字符串
@return 是否为空
/
public static boolean isEmptyString(String str) {
return str == null || strtrim()length() == 0;
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)