前段时间在公司程序上看到前辈们用split()方法去切割无分隔符号标志的字符串。
如:
String testStr = "asd";
String[] testStrSplit = testStr.split("");
如果你的版本不是jdk1.7时
输出testStrSplit 是["a","s","d"]
刚开始我还以为是前辈程序有问题。
然后切换到了和linux服务器java同版本(jdk1.7)
输出testStrSplit 是["","a","s","d"]
emmmmm,这就是问题所在了,当版本不一时,jdk1.7前面是多了一个空,因此数组长度一个是4,而一个为3.(此处有眼泪)
所以,当想切割无分隔符的字符串时,我们是不是可以有其他方法?
是哒,这个时候可以用toCharArray().兼容jdk1.7和1.8。
char[] testStrArr = testStr.toCharArray();//["a","s","d"]
toCharArray 方法de作用:将字符串转换为字符数组.
split()和toCharArray的区别:
(1)split是根据你需要按照那个分隔符号来进行分割的
比如:
String a = "a,d,e,s,f"; String []b = a.split(',');这个就是根据逗号将数据分开,遍历输出得到的b的对象为"a","d","e","s","f"
(2)toCharArray是将String对象的每一个下标位的对象保存在char[]中,
比如:
String a = "abcd"; char[] b = a.toCharArray(); 遍历输出得到的b信息就是['a','b','c','d']