split()方法上遇到的坑,JDK1.7和JDK1.8版本上的区别
本文最后更新于 2016 天前,其中的信息可能已经有所发展或是发生改变。

前段时间在公司程序上看到前辈们用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’]


评论

  1. Windows Firefox 62.0
    6 年前
    2018-10-21 10:08:43

    很多细节上的错误,真的让人头疼….

    • 博主
      程志辉
      Windows Chrome 63.0.3239.132
      6 年前
      2018-11-02 13:52:49

      是的

  2. 哈喽
    Windows Chrome 63.0.3239.132
    6 年前
    2018-10-26 15:15:09

    emmm,第一次看,评论居然必须有汉字,0-0

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇