gpt4 book ai didi

java - 在Java中,我有一个名为字符串 "A"(大小1)的字符串。为什么 string.substring(1) 没有给出异常

转载 作者:行者123 更新时间:2023-12-01 07:23:30 25 4
gpt4 key购买 nike

在java中,我有一个名为string的字符串,其值为“A”。
String string = "A";

它的大小是1,我们知道字符串中的字符是0索引的。它们表示为 Char 数组。那么,为什么 string.substring(1); 不给我一个异常(exception)?

最佳答案

如果你看一下substring(int beginIndex)的代码:

 public String substring(int beginIndex) {
if (beginIndex < 0) {
throw new StringIndexOutOfBoundsException(beginIndex);
}
int subLen = value.length - beginIndex;
if (subLen < 0) {
throw new StringIndexOutOfBoundsException(subLen);
}
return (beginIndex == 0) ? this : new String(value, beginIndex, subLen);
}

没有条件指定如果长度为 1 并且索引为 1,则应抛出异常。事实上,返回一个新的字符串。

System.out.println("A".substring(1).equals("")); 返回 true 因为 方法

关于java - 在Java中,我有一个名为字符串 "A"(大小1)的字符串。为什么 string.substring(1) 没有给出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116245/

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