空值。 java中的空白空格字符串

时间:2017-10-01 13:11:43

标签: java string null whitespace

在以下代码中:

import java.util.*; 
 public class test{     
     public static void main(String[] args){             
         System.out.println("".length());     
     }
 }

输出为0.

但是在以下代码中:

import java.util.*;
public class test{
    public static void main(String[] args){
        System.out.println("Please enter a string: ");
        Scanner stdin = new Scanner(System.in);
        String st = stdin.next();
        System.out.println(st.length());
        System.out.println(st.equals(""));
    }
}

当我输入“”或空字符串时,输出为:

2
false

我将std.next()更改为std.nextLine(),但输出结果相同。

当我将System.out.println(st.equals(""));更改为System.out.println(st.equals(" "));时 我输入“”或空格输出是:

1
false

为什么?

1 个答案:

答案 0 :(得分:0)

输入""是两个字符,这就是为什么你得到长度2而"" 不等于一个空字符串的原因。至于输入" "的第二种情况,你得到长度为1,因为String::next()只能读取用户输入直到空格。它不能读取由空格分隔的两个单词,而且不等于空字符串。总而言之,在使用String::next()时,您不能输入空字符串,甚至不能填充空格的字符串。您需要使用String::nextLine()

在阅读用户输入时,我们不能将空字符串表示为""空字符串是一个长度为零的字符串