guyeuro
V2EX  ›  问与答

Java 的 split 函数有问题啊

  •  
  •   guyeuro · Sep 11, 2017 · 2976 views
    This topic created in 3344 days ago, the information mentioned may be changed or developed.

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

    结果

    2 [, 51]

    逗号没去掉

    9 replies  •  2017-09-11 15:40:28 +08:00
    Luckyray
    Luckyray
    Sep 11, 2017
    1
    结果里的逗号,是用来分割 List 链表里的元素的...
    比如[,,,]相当于有一个 List,长度为 4,每一个元素的值都是""空字符
    Finest
    Finest
    Sep 11, 2017❤️1
    2
    逗号去掉了。。。
    [ , 51] 这里表示有两个元素,第一个是空串,第二个是 51
    Duolingo
    Duolingo
    Sep 11, 2017
    3
    你可以看下 println(List)的方法里做了啥。。。
    66beta
    66beta
    Sep 11, 2017
    4
    @Luckyray 那楼主的结果 length 为何是 2 ?
    66beta
    66beta
    Sep 11, 2017
    5
    感觉就是 java 故意的吧,最后没了,就忽略最后一个,
    66beta
    66beta
    Sep 11, 2017
    6
    大家都是 ECMA,Javascript 如楼主期望的
    let a = ',6,'
    let b = a.split(',')
    (3) ["", "6", ""]
    Finest
    Finest
    Sep 11, 2017
    7
    Java 的 String.split 确实是把最后一个空串去掉的。
    Luckyray
    Luckyray
    Sep 11, 2017
    8
    @66beta split 默认把最后的空串去掉,可以加一个参数 limit 决定返回几个结果
    suikator
    suikator
    Sep 11, 2017 via Android
    9
    有重载方法 第二个参赛填负一
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1893 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:11 · PVG 15:11 · LAX 23:11 · JFK 02:11
    ♥ Do have faith in what you're doing.