`
文艺的程序猿
  • 浏览: 103042 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java判断字符串是否为空的方法总结

    博客分类:
  • JAVA
阅读更多
1,错误用法一:

if (name == "") {
     //do something
}

2,错误用法二:
if (name.equals("")) {
     //do something
}


3,错误用法三:
if (!name.equals("")) {
     //do something
}


我们来解说一下:
上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。

上述用法二,用法三 的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。
对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。
当然,如果之前已经对name作了null判断的情况例外。

正确的写法应该先加上name != null的条件,如例:

if (name != null && !name.equals("")) {
     //do something
}

或者

if (!"".equals(name)) {//将""写在前头,这样,不管name是否为null,都不会出错。
     //do something
}


下面,我们举一个简单的例子:

TestNullOrEmpty.java

public class TestNullOrEmpty {

    public static void main(String[] args) {
         String value = null;
         testNullOrEmpty(value);
       
         value = "";
         testNullOrEmpty(value);
       
         value = " ";
         testNullOrEmpty(value);
       
         value = "hello me! ";
         testNullOrEmpty(value);
     }
   
    static void testNullOrEmpty(String value) {
        if (value == null ) { //正确的写法
             System.out.println("value is null. ");
         } else if ("".equals(value)) { //正确的写法
             System.out.println("value is blank but not null. ");
         } else {
             System.out.println("value is /" " + value + "/" ");
         }
       
        if (value == "") {  //NG 错误的写法
        //别用这种写法
         }
     }
}

编译执行:
c:/>javac TestNullOrEmpty.java

c:/>Java TestNullOrEmpty
value is null.
value is blank but not null.
value is " "
value is "hello me!"

分享到:
评论

相关推荐

    java 判断字符串是否是中文

    java 判断字符串是否是中文 共总结了6种方法。。。。

    JAVA判断字符串是否为数字字符

    ### JAVA判断字符串是否为数字字符 在日常的Java开发工作中,我们经常需要验证用户输入的数据是否符合预期格式,比如验证电话号码、身份证号等是否仅包含数字。这种情况下,一个简单有效的工具方法就显得尤为重要了...

    判断字符串是否为数字

    以上介绍了四种判断字符串是否为数字的方法,包括逐字符检查、使用正则表达式、利用 `String.matches()` 方法以及基于 ASCII 值的比较。每种方法都有其适用场景和特点,开发者可以根据具体需求选择最合适的方式。...

    java判断一个字符串是否是小数的方法

    在上面的代码中,我们首先使用 StringUtils.isBlank() 方法来判断字符串是否为空或长度为 0 或由空白符构成。如果字符串为空或长度为 0 或由空白符构成,返回 false。否则,我们使用 matches() 方法来判断字符串是否...

    java中常用字符串方法总结

    `isEmpty()`方法判断字符串是否为空。 16. **复制字符串** `repeat(int count)`方法在Java 11中引入,用于重复字符串`count`次。 17. **字符串编码与解码** `getBytes()`将字符串转换为字节数组,`new String...

    Java 正则表达式判断字符串是否包含中文

    ### Java正则表达式判断字符串是否包含中文 在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。例如,在处理用户输入、文本分析或数据清洗时,可能需要判断一个字符串中是否包含中文字符。...

    java判断字符串是否有逗号的方法

    总结来说,Java中判断字符串是否含有逗号的方法主要包括使用`String`类的`indexOf()`方法以及正则表达式。选择哪种方法取决于具体的需求和场景。对于简单的情况,`indexOf()`方法通常足够使用;对于更复杂的情况,...

    Java判断字符串是否含有乱码实例代码

    在Java中判断字符串是否含有乱码是一个常见的问题,特别是在处理网络传输数据或文本文件导入导出时。本文将介绍通过实例代码如何判断一个字符串是否含有乱码,并通过编写的Java方法来实现此功能。 首先,我们需要...

    android 判断字符串是否是日期格式

    总结来说,判断字符串是否是日期格式主要涉及`SimpleDateFormat`、`DateTimeFormatter`和正则表达式。选择哪种方法取决于项目需求、兼容性及代码的可读性和维护性。在实际编程中,应结合具体情况灵活选用。

    判断字符串格式的时间

    其中,`IsMatch` 方法用于判断指定的字符串是否与正则表达式匹配。 #### 2. IsMatch 方法详解 在提供的代码示例中,使用了 `IsMatch` 方法来进行字符串格式验证。具体代码如下: ```csharp public int IsDate...

    Java中String判断值为null或空及地址是否相等的问题

    总结来说,理解Java中`null`、空字符串`""`的区别,以及如何安全地进行比较,是编写健壮代码的关键。同时,了解字符串对象的内存地址和内容相等性的差异,可以帮助我们更好地理解和调试程序。在实际开发中,应始终...

    java判断字符串是否为数字的方法小结

    我们可以通过遍历字符串,检查每个字符的ASCII码值是否在这个范围内来判断字符串是否全为数字。下面是具体实现: ```java public static boolean isNumeric(String str) { for (int i = str.length(); --i >= 0;) ...

    Java中常用字符串方法总结.doc

    Java 中常用字符串方法总结 Java 中的字符串是极其重要的数据类型之一,字符串的操作和处理在 Java 开发中占据着非常重要的地位。下面是 Java 中常用字符串方法的总结。 创建并初始化字符串 在 Java 中,可以使用...

    Java判断字符串是不是数字过程解析

    本文将深入解析Java中如何判断字符串是否为数字的方法,以及存在的问题和解决方案。 首先,我们可以从简单的基础开始,即判断字符串是否为空或null。在Java中,一个空字符串("")和null值显然不是数字。因此,我们...

    java判断字符串是正整数的实例

    在Java编程语言中,有时我们...总结来说,Java中判断字符串是否为正整数主要依赖于正则表达式和字符串匹配。这个实例提供了一种简单而直观的实现方式,但在实际项目中,你可能需要根据具体需求进行适当的优化和扩展。

    java 判断汉字 汉字的判断

    ### Java判断字符串是否包含汉字的方法 在开发过程中,有时我们需要判断一个字符串是否包含汉字,并根据判断的结果执行不同的逻辑。这通常出现在需要处理多语言输入的情况下,例如用户输入验证、文本分析等场景。...

    判断字符串是否有小数的特征,并且能否转换成小数

    4. **性能优化**:使用 `String#matches` 方法结合正则表达式可以更高效地判断字符串是否符合数字格式。 ### 三、改进后的实现方案 #### 3.1 公共方法抽象 首先,我们可以定义一个公共方法 `isEmptyOrWhitespace` ...

    java 去掉重复字符 三个方法

    这个方法利用了Java 8的特性,将字符串转换为整数流(每个字符的ASCII值),然后使用`distinct()`过滤重复,再通过`mapToObj()`将每个整数转换回字符,并最终使用`toArray()`生成新的字符串。 总结来说,去除Java...

    关于字符串相等的比较

    - 缺点:不是用来判断字符串是否完全相等,而是返回一个整数值表示字符串的排序关系。 4. **使用 `String.equals` 静态方法:** - Java 9 及更高版本引入了静态方法 `String.equals`。 - 示例:`String.equals(s...

Global site tag (gtag.js) - Google Analytics