V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
guyeuro
V2EX  ›  问与答

Java 的 split 函数有问题啊

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