SCJP解析系列之三

 

  作者:刘颖

试题:
public class Tester {
public static void main(String[] args) {
String test ="This is a test";
String[] tokens = test.split("\s");
System.out.println(tokens.length);
}
}
What is the result?
A.0
B.1
C.4
D.Compilation fails
E.An exception is thrown at runtime

    这个题目考查的重点是split的方法.split()依所设置的分隔设置,将字符串分为数个子字符串并以String数组返回.但是,这里的"\s"不是一个普通字符,编译系统看到\会把它当成一个转义字符,但\s又不是一个有效的转义字符.所以,这里会有错误.答案就是D喽.

    如果,我们修改一下,换成"s",字符串将被"s"来分隔成四个四个字符串,那么可惜很清楚的看到输出结果:4