您的位置:首页 > 大数据 > 人工智能

String contains 和 split 遇到的细节问题

2017-01-13 11:11 190 查看
今天在使用String时,遇到以后没有注意过的细节问题,记录一下。
String.contains(CharSequence s);
String.split(String regex);
这两个方法都很简单,但是今天我在敲代码时,犯了一个错误。


String str="abc.def";
str.contains("\\.") //-------------------1
str.split("\\.")//-------------------2


在上面代码中,我想判断字符串是否包含".",所以用了contains方法,但是由于"."是特殊字符,所以我用"\\"转义一下,split也同理,可是问题来了,这样真的能够得到正确答案吗?测试如下:


public static void main(String[] args) {
String str = "abc.def";
System.out.println(str.contains("."));
System.out.println(str.contains("\\."));
System.out.println(str.split(".").length);
System.out.println(str.split("\\.").length);
}


结果是不能的,contains方法不需要你在转义,为什么,因为他的参数是CharSequence。。而split 的方法参数是String,需要手动转义。结果如下:


true
false
0
2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string contains split