我是Java的新手.不幸的是,在Java中,很多新东西很难理解这些东西.
例如,
String str = "";
String[] arr = str.split("\\s+");
System.out.println(Arrays.toString(arr));
System.out.println(arr.length);
System.exit(0);
Run Code Online (Sandbox Code Playgroud)
输出是
[]
1
Run Code Online (Sandbox Code Playgroud)
但为什么?如果有人能解释为什么数组的长度为1,我将不胜感激.
Jam*_*mes 10
即使String实例为空,它仍然是一个String实例,并且必须在之后的某处放置"nothing" split().那是数组中的一个元素.
如果你打印str[0],你会得到一个空字符串.真正的"没有"将是null你得到的NullPointerException(你不能调用split()空值)
public static void main(String[] args) {
String str = "";
String[] arr = str.split("\\s+");
System.out.println(Arrays.toString(arr));
System.out.println(arr[0]);
System.out.println(arr.length);
System.exit(0);
}
Run Code Online (Sandbox Code Playgroud)
产量
[]
1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |