Java里如何判斷一個String是空字符串或空格組成的字符串


要判讀String是否為空字符串,比較簡單,只要判斷該String的length是否為0就可以,或者直接用方法isEmpty()來判斷。

    但很多時候我們也會把由一些不可見的字符組成的String也當成是空字符串(e.g, space, tab, etc),這時候就不能單用length或isEmpty()來判斷了,因為technically上來說,這個String是非空的。這時候可以用String的方法trim(),去掉前導空白和后導空白,再判斷是否為空。

例:

public class TestEmpty

   {
       public static void main(String[] args){
              String a = "       ";      
              // if (a.isEmpty())
             if (a.trim().isEmpty())
             {
                System.out.println("It is empty");
             }
            else 
            {
               System.out.println("It is not empty");
            }
       }
  }

結果:It is empty

 

next()方法一定要讀取到有效的字符后才結束輸入,對輸入有效字符前遇到的空格鍵,TAb鍵,ENter等,next()會 自動將其去掉,只有在輸入有效字符之后,next()方法才將其后的空格鍵,TAb鍵,ENter等視為分隔符或者結束符。
nextline()方法的結束符是enter鍵,即返回的是enter鍵之前的所有字符。
比如hello java
next()讀出來的是hello
nextline()是hello java

 

Scanner 
1.默認用空白字符作為分隔符,鍵盤上的回車鍵表示一次輸入結束,如果輸入一行數據,比如:yhdfweu wsegdyh iuyuiehw 如果不按enter鍵的話,會一直死在while(sc.hasNext());按下了enter鍵,會依次讀入這幾個數據。 


2.nextLine()和next()的區別,next()以空白字符作為界限讀入數據,而nextLine ()是以行為單位讀數據,如果錄入“dhdf euhw”這樣的一個數據,如果nextLine()會讀入一行,就會正確讀出,而next()會將其分成2個數據讀入。 


3.如何讀入空字符串,即“”;如果連續按2次enter鍵,表示2個enter鍵之間的是空字符串。由於是以空格為分隔符。而這種情況會直接被掃描器忽略。可以通過Scanner sc=new Scanner(System.in).useDelimiter(System.getProperty(“line.separator”));來設置分隔符為“\r\n”(windows)。那么2個回車之間,即是2個分隔符之間,即為一個數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM