V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
guyeuro
V2EX  ›  问与答

Java 的 split 函数有问题啊

  •  
  •   guyeuro · 2017-09-11 14:07:47 +08:00 · 1775 次点击
    这是一个创建于 2420 天前的主题,其中的信息可能已经有所发展或是发生改变。

    String x = ",51,"; String[] y = x.split(","); System.out.println(y.length); System.out.println(Arrays.asList(y));

    结果

    2 [, 51]

    逗号没去掉

    9 条回复    2017-09-11 15:40:28 +08:00
    Luckyray
        1
    Luckyray  
       2017-09-11 14:28:30 +08:00
    结果里的逗号,是用来分割 List 链表里的元素的...
    比如[,,,]相当于有一个 List,长度为 4,每一个元素的值都是""空字符
    hand515
        2
    hand515  
       2017-09-11 14:57:49 +08:00   ❤️ 1
    逗号去掉了。。。
    [ , 51] 这里表示有两个元素,第一个是空串,第二个是 51
    codingadog
        3
    codingadog  
       2017-09-11 15:08:33 +08:00
    你可以看下 println(List)的方法里做了啥。。。
    66beta
        4
    66beta  
       2017-09-11 15:11:50 +08:00
    @Luckyray 那楼主的结果 length 为何是 2 ?
    66beta
        5
    66beta  
       2017-09-11 15:13:38 +08:00
    感觉就是 java 故意的吧,最后没了,就忽略最后一个,
    66beta
        6
    66beta  
       2017-09-11 15:15:16 +08:00
    大家都是 ECMA,Javascript 如楼主期望的
    let a = ',6,'
    let b = a.split(',')
    (3) ["", "6", ""]
    hand515
        7
    hand515  
       2017-09-11 15:30:29 +08:00
    Java 的 String.split 确实是把最后一个空串去掉的。
    Luckyray
        8
    Luckyray  
       2017-09-11 15:35:53 +08:00
    @66beta split 默认把最后的空串去掉,可以加一个参数 limit 决定返回几个结果
    suikator
        9
    suikator  
       2017-09-11 15:40:28 +08:00 via Android
    有重载方法 第二个参赛填负一
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5546 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:04 · PVG 14:04 · LAX 23:04 · JFK 02:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.