Difference between isEmpty() and isBlank() Method in java 11

后端 未结 3 1852
悲&欢浪女
悲&欢浪女 2020-12-10 01:50

Java 11 has added A new instance method isBlank() to java.lang.String class.

What\'s the basic difference between the exi

相关标签:
3条回答
  • 2020-12-10 02:39

    isEmpty()

    The java string isEmpty() method checks if this string is empty. It returns true, if the length of the string is 0 otherwise false e.g.

    System.out.println("".isEmpty()); // Prints - True
    System.out.println(" ".isEmpty()); //Prints - False 
    

    Java 11 - isBlank()

    The new instance method java.lang.String.isBlank() returns true if the string is empty or contains only white space, where whitespace is defined as any codepoint that returns true when passed to Character#isWhitespace(int).

    boolean blank = string.isBlank();
    

    Before Java 11

    boolean blank = string.trim().isEmpty();
    

    After Java 11

    boolean blank = string.isBlank();
    
    0 讨论(0)
  • 2020-12-10 02:45

    Java 11 added has new method called .isBlank() in String class

    1. isBlank() method is equal to str.trim().isEmpty() in earlier to java 11 versions
    2. isEmpty() : Returns true if, and only if, length() is 0

    This is the internal implementation of isBlank() method in String class of java 11

    public boolean isBlank() {
        return indexOfNonWhitespace() == length();
    }
    
    private int indexOfNonWhitespace() {
        if (isLatin1()) {
            return StringLatin1.indexOfNonWhitespace(value);
        } else {
            return StringUTF16.indexOfNonWhitespace(value);
        }
    }
    
    0 讨论(0)
  • 2020-12-10 02:45

    The difference is as below :-

    isBlank() returns true for the string having only white space characters whereas isEmpty() will return false for such strings.

    ("\n\r  ").isBlank();  //returns true
    ("\n\r  ").isEmpty();  //returns false
    

    For detailed explanation with Code Example visit : isBlank() vs isEmpty() in String class Java

    0 讨论(0)
提交回复
热议问题