java中怎么java判断空字符串字符串是否为空

java判断一个字符串是否为空的方法总结
今天写代码发现一个判断字符串是否为空的问题
贴上我的代码:
if(!username.equals(&&)&&!userpassword.isEmpty()&&!phString.isEmpty()&&!userpassword2.isEmpty())
如上:如果此处phString这个字符串中什么也没有,则phString.isEmpty()这种方法去判断是否空会报空指针异常
当phString=&51cto&;时,phString.isEmpty()的返回值就是false;
也就是说这个方法的返回值为boolean型,如果length()为0返回true,否则返回false.
但是这种方法兼容性并不好,也容易出错下面列举出几种常见的判断空方法:
方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.
方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.
SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二.
1:if(s == null || s.equals(&&));
2:if(s == null || s.length() &= 0);
3:if(s == null || s.isEmpty());29被浏览43233分享邀请回答25 条评论分享收藏感谢收起2310 条评论分享收藏感谢收起查看更多回答博客分类:
package com.camel.jelly.
import java.text.ParseE
import java.util.C
import java.util.M
* 常用的验证方法帮助类,提供对字符串,集合,数组,数值的验证
package com.camel.jelly.
import java.text.ParseE
import java.util.C
import java.util.M
* 常用的验证方法帮助类,提供对字符串,集合,数组,数值的验证
* @author Jelly &br/&
public class ValidateHelper {
* 判断一个字符串是否不是一个空字符串
* @param s 要判断的字符串
* @return 如果不为空返回true,否则返回false
public static boolean isNotEmpty(String s) {
return ((s != null) && s.length() & 0);
* 判断一个字符串是否是一个空字符串
* @param s 要判断的字符串
* @return 如果为空返回true,否则返回false
public static boolean isEmpty(String s) {
return ((s == null) || (s.length() == 0));
* 判断一个Collection类型的集合是否不是一个空集合
* @param c 要判断集合
* @return 如果不为空返回true,否则返回false
public static boolean isNotEmpty(Collection c) {
return ((c != null) && (c.size() & 0));
* 判断一个Collection类型的集合是否是一个空集合
* @param c 要判断集合
* @return 如果为空返回true,否则返回false
public static boolean isEmpty(Collection c) {
return ((c == null) || (c.size() == 0));
* 判断一个Map类型的集合是否不是一个空集合
* @param c 要判断的集合
* @return 如果不为空返回true,否则返回false
public static boolean isNotEmpty(Map m) {
return ((m != null) && (m.size() & 0));
* 判断一个Map类型的集合是否是一个空集合
* @param c 要判断的集合
* @return 如果为空返回true,否则返回false
public static boolean isEmpty(Map m) {
return ((m == null) || (m.size() == 0));
* 判断一个int类型的数组是否不是一个空数组
* @param c 要判断的数组
* @return 如果不为空返回true,否则返回false
public static boolean isNotEmpty(int[] i) {
return ((i != null) && (i.length & 0));
* 判断一个int类型的数组是否是一个空数组
* @param c 要判断的数组
* @return 如果为空返回true,否则返回false
public static boolean isEmpty(int[] i) {
return ((i == null) || (i.length == 0));
* 判断一个String类型的数组是否不是一个空数组
* @param c 要判断的数组
* @return 如果不为空返回true,否则返回false
public static boolean isNotEmpty(String[] s) {
return ((s != null) && (s.length & 0));
* 判断一个String类型的数组是否是一个空数组
* @param c 要判断的数组
* @return 如果为空返回true,否则返回false
public static boolean isEmpty(String[] s) {
return ((s == null) || (s.length == 0));
* 验证一个字符串是否是Double类型
* @param s 要验证的字符串
* @return 如果是Double类型则返回true,否则返回false
public static boolean isDouble(String s) {
if (s == null || s.equals(""))
String num = ".";
if (s.indexOf('.') &= 0)
if (s.indexOf('.', s.indexOf('.') + 1) & 0)
for (int i = 0; i & s.length(); i++) {
if (num.indexOf(s.charAt(i)) & 0) {
Double.parseDouble(s);
} catch (NumberFormatException e) {
* 验证一个字符串是否是Float类型
* @param s 要验证的字符串
* @return 如果是Float类型则返回true,否则返回false
public static boolean isFloat(String s) {
if (s == null || s.equals(""))
String num = ".";
if (s.indexOf('.') &= 0)
if (s.indexOf('.', s.indexOf('.') + 1) & 0)
for (int i = 0; i & s.length(); i++) {
if (num.indexOf(s.charAt(i)) & 0) {
Float.parseFloat(s);
} catch (NumberFormatException e) {
* 验证一个字符串是否是整形
* @param s 要验证的字符串
* @return 如果是整形则返回true,否则返回false
public static boolean isInteger(String s) {
if (s == null || s.length() == 0) {
String str = "";
String num = "-";
if (num.indexOf(s.charAt(0)) & 0)
for (int i = 1; i & s.length(); i++) {
if (str.indexOf(s.charAt(i)) & 0) {
Integer.parseInt(s);
} catch (NumberFormatException e) {
* 验证一个字符串是否是一个.和一组数字组成
* @param s 要传入的数字字符串
* @return 如果是一个长类型数字返回true,否则返回false
public static boolean isLongNumber(String s) {
if (s == null || s.equals(""))
String num = ".";
if (s.indexOf('.') &= 0)
if (s.indexOf('.', s.indexOf('.') + 1) & 0)
for (int i = 0; i & s.length(); i++) {
if (num.indexOf(s.charAt(i)) & 0)
* 验证一个字符串是否是数字组成
* @param s 要验证的字符串
* @return 如果字符串是数字组成的则返回true,否则返回false
public static boolean isNumber(String s) {
if (s == null || s.equals(""))
String num = "";
for (int i = 0; i & s.length(); i++) {
if (num.indexOf(s.charAt(i)) & 0)
* 验证一个字符串是否一个合法日期,日期格式:yyyy-MM-dd
* @param date 要验证的字符串日期
* @return 如果字符串是一个合法的日期返回true,否则返回false
public static boolean isDate(String date) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
df.setLenient(false);
df.parse(date);
} catch (ParseException e) {
* 验证一个字符串是否一个合法日期时间,日期时间格式:yyyy-MM-dd HH:mm:ss
* @param date 要验证的字符串日期时间
* @return 如果字符串是一个合法的日期时间返回true,否则返回false
public static boolean isTimestamp(String time) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
df.setLenient(false);
df.parse(time);
} catch (ParseException e) {
* 根据字节数组指定的开始和结尾长度来计算字符串值
* @param bytes 字节数组
* @param begin 开始索引
* @param end 结束索引
* @return 转换后的字符串结果
public static String getString(byte[] bytes, int begin, int end) throws RuntimeException {
byte[] newBytes = new byte[end - begin];
for (int i = begin, j = 0; i & i++, j++) {
byte c = bytes[i];
newBytes[j] =
return (new String(newBytes));
* 根据字节数组指定的开始和结尾长度来计算字符串的字节长度
* @param bytes 字节数组
* @param begin 开始索引
* @param end 结束索引
* @return 转换后的字符串长度
public static int getLength(byte[] bytes, int begin, int end) {
byte[] newBytes = new byte[end - begin];
for (int i = begin, j = 0; i & i++, j++) {
byte b = bytes[i];
newBytes[j] =
} catch (RuntimeException ex) {
ex.printStackTrace();
return (newBytes.length);
浏览: 10277 次
来自: 天津
重复发明轮子,apache的commons包,已经有完整的实现 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'以下是Java判断字符串是否为空的三种方法.;方法一:最多人使用的一个方法,直观,方便,但效率;方法三:JavaSE6.0才开始提供的方法,效率;以下代码在我机器上的运行结果:(机器性能不一,仅;publicclassCompareString;privatevoidfunction1(){;longstartTime=System.cur;for(long
以下是 Java 判断字符串是否为空的三种方法. 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低. 方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法. 方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二.
以下代码在我机器上的运行结果: (机器性能不一, 仅供参考) function 1 use time: 141ms function 2 use time: 46ms function 3 use time: 47ms */ public class CompareStringNothing { String s = \long n = ;
private void function1() {
long startTime = System.currentTimeMillis();
for(long i = 0; i
if(s == null || s.equals(\
long endTime = System.currentTimeMillis();
System.out.println(\}
private void function2() {
long startTime = System.currentTimeMillis();
for(long i = 0; i< i++) {
if(s == null || s.length() <= 0);
long endTime = System.currentTimeMillis();
System.out.println(\}
private void function3() {
long startTime = System.currentTimeMillis();
for(long i = 0; i
if(s == null || s.isEmpty());
long endTime = System.currentTimeMillis();
System.out.println(\}
public static void main(String[] args) {
CompareStringNothing com = new CompareStringNothing();
com.function1();
com.function2();
com.function3(); } }
三亿文库包含各类专业文献、外语学习资料、专业论文、应用写作文书、幼儿教育、小学教育、35【JS】Java判断字符串是否为空的三种方法等内容。 
 js javascript 判断字符串是否包含某字符串_计算机...说明 indexOf 方法返回一个整数值,指出 String 对象...几个应该掌握的 js java... 7页 免费
JavaScript...  js 判断字符串是否包含某字符串(indexOf) 定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。 语法 stringObject.indexOf(search...  Java 如何判断String为空_计算机软件及应用_IT/计算机_专业资料。Java 如何判断...学到比较基础、直观的一个方法 2、判断字符串的长度 3、跟第一种方法差不多...  { }; } 第十种写法 最后,使用 hasOwnProperty 方法,判断 myObj 是否为顶层...javascript(JS)如何创建... 9页 免费
JavaScript判断浏览器类... 5页 免费...  JS判断字符串是否是回文_计算机软件及应用_IT/计算机...test3.jsp &%@pagelanguage=&java&contentType=&...编写程序判断给定字符串... 1页 免费
两种方式判断...  如何识别一个字符串是不是 Json。 网上搜了一下,找到两三个坑人的答案: A:Js 识别,Eval 一下,成功就是,失败就挂。 B:C#识别,判断开始和结束符号:{}或[]...  JS 验证方法大全 1:js 字符串长度限制、判断字符长度 、js 限制输入、限制不能输入、textarea 长 度限制 2.:js 判断汉字、判断是否汉字 、只能输入汉字 3:js ...  java 中判断字符串是否为数字的方法的几种方法判断字符串是否为数字 //1、正则表达式 public static boolean isNumeric1(String str){ Pattern pattern = Pattern....你知道Java语言确定字符串为空的方法吗_百度经验
该经验图片、文字中可能存在外站链接或电话号码等,请注意识别,谨防上当受骗!&&&&&&互联网你知道Java语言确定字符串为空的方法吗?听语音1234567
百度经验:Java中因为有常量池的存在,在判断字符串为空时,总会有一些不经意的坑。本文分享关于Java中判断字符串为空的相关心得百度经验:JavaIntelliJ IDEAcommon-lang-2.6apache百度经验:1建议使用commons-lang-2.6.jar中StringUtils.isBlank(String str)来判断字符串是否为空。程序员认为的空字符串一般包含以下几种情况:null,“”,“ &”(n个英文半角空格),“  ”(n个中文全角空格),2使用==来判断。可以看到,与预期一致,返回true示例代码:String whiteSpace = &&;String anOtherWhiteSpace = &&;System.out.println(whiteSpace == anOtherWhiteSpace);3使用equals来判断。可以看到,与预期一致,返回true示例代码:String whiteSpace = &&;String anOtherWhiteSpace = &&;System.out.println(whiteSpace.equals(anOtherWhiteSpace));4问题来了,到底应该使用equals,还是==呢?不是说对象比较,要使用equals的嘛。为什么这里使用==也为true呢?这是因为Java中String是不可变对象,为提高性能,在公共方法区,存放了常用的字符。whiteSpace 和anOtherWhiteSpace 引用的是相同的对象,因为内存地址相同,所有在使用==判断时,返回true5同样的空字符串,来看个返回为false的例子:新构建一个内容为空字符串的String对象,这样这个新对象地址和常量池中的就不同了。示例代码:String whiteSpace = &&;String whiteSpaceStr = new String(whiteSpace);System.out.println(whiteSpace == whiteSpaceStr);6上面使用==时,空字符串返回true的问题搞清楚了。那怎么来判断字符串为空呢?作为java程序猿,你觉得空字符串长什么样呢?这样的:“”,这样的:null,这样的:new String(&&),还是这样的“ & & &”因此,作为一个公共方法,一定要友好,一定要好用。示例代码:public static boolean isEmpty(String source) { &&& & &return source == null ||source.isEmpty()||source.trim().isEmpty();}7Apache common-lang 中isEmpty方法中的实现源代码:public static boolean isEmpty(String str) { & && & & return str == null || str.length() == 0;}8Apache common-lang 中isBlank方法中的实现源代码:public static boolean isBlank(String str) { &&& &&& &&&int strL &&& &&& &&&if(str != null && (strLen = str.length()) != 0) { & & & && &&& &&& &&& &&for(int i = 0; i & strL ++i) { & & & & & && &&& &&& &&& &&& &&& &&if(!Character.isWhitespace(str.charAt(i))) { & & & & & & & && &&& &&& &&& &&& &&& &&& &&& && & & & & & && &&& &&& &&& &&& &&& &&} & & &&& &&& &&&} & & & && &&& && &&& &&&} else { & & & && &&& && &&& &&&}}END经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(0)已投票(0)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验003113热门杂志第1期你不知道的iPad技巧3647次分享第1期win7电脑那些事6426次分享第2期新人玩转百度经验1318次分享第1期Win8.1实用小技巧2614次分享第1期小白装大神1825次分享◆请扫描分享到朋友圈该经验图片、文字中可能存在外站链接或电话号码等,请注意识别,谨防上当受骗!}

我要回帖

更多关于 java判断字符串为空格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信