Java判断字符串为空、字符串是否为数字
关于String的判空:
//这是对的 if(selection!=null&&!selection.equals("")){ whereClause+=selection; } //这是错的 if(!selection.equals("")&&selection!=null){ whereClause+=selection; }
注:“==”比较两个变量本身的值,即两个对象在内存中的首地址。而“equals()”比较字符串中所包含的内容是否相同。第二种写法中,一旦selection真的为null,则在执行equals方法的时候会直接报空指针异常导致不再继续执行。
判断字符串是否为数字:
//调用java自带的函数 publicstaticbooleanisNumeric(Stringnumber){ for(inti=number.length();--i>=0;){ if(!Character.isDigit(number.charAt(i))){ returnfalse; } } returntrue; }
//使用正则表达式 publicstaticbooleanisNumeric(Stringnumber){ Patternpattern=Pattern.compile("[0-9]*"); returnpattern.matcher(str).matches(); }
//利用ASCII码
publicstaticbooleanisNumeric(Stringnumber){ for(inti=str.length();--i>=0;){ intchr=str.charAt(i); if(chr<48||chr>57) returnfalse; } returntrue; }