gpt4 book ai didi

java - Java String split() 方法的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 06:15:08 26 4
gpt4 key购买 nike

我有一个方法,它接受一个字符串参数并用 # 拆分字符串,拆分后打印数组的长度以及数组元素。下面是我的代码

public void StringSplitTesting(String inputString) {

String tokenArray[] = inputString.split("#");

System.out.println("tokenArray length is " + tokenArray.length
+ " and array elements are " + Arrays.toString(tokenArray));

}

情况 I: 现在,当我的输入是 abc# 时,输出是 tokenArray 长度为 1,数组元素为 [abc]

案例二: 但是当我的输入是#abc 输出是tokenArray 长度是2,数组元素是[, abc]

但我期望这两种情况的输出相同。此实现背后的原因是什么?为什么 split() 方法的行为是这样的?有人可以给我适当的解释吗?

最佳答案

one-argument split method 行为的一个方面可能会令人惊讶——从返回的数组中丢弃尾随的空值。

Trailing empty strings are therefore not included in the resulting array.

要为每种情况获得 2 的长度,您可以将负的第二个参数传递给 two-argument split method ,这意味着长度不受限制,并且不会丢弃尾随的空字符串。

关于java - Java String split() 方法的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com