我目前正在处理一项任务,我对Substring方法有一个问题。对于该任务,我需要获得字符串的第一个Char,并在使用后删除第一个Char
字符串是名称,在末尾我只想有"剩下一个空字符串。
我的方法:
String name = "Paul";
char chr = name.charAt(0);
String newName = name.substring(1);
我的问题:当我在最后一个字符";l〃;并且使用我的子串do I get"还是一个错误?
我的问题:当我在最后一个字符时"l〃;并使用我的子字符串得到"还是一个错误?
您将得到一个空白字符串。以下文件行中也提到了这一点:
投掷:
IndexOutOfBoundsException
-如果beginIndex为负数或大于此String对象的长度。
当字符串中只剩下l
时,其长度将为1
,完全可以接受为beginIndex
。您也可以按照以下方式进行验证:
public class Main {
public static void main(String[] args) {
System.out.println("l".substring(1));
}
}
要确保没有错误,请执行以下操作。
String name = "Paul";
int nameLength = name.length();
for (int i = 0; i < nameLength; i++){
char chr = name.charAt(0);
if (i != nameLength - 1){
String newName = name.substring(1);
name = newName;
} else {
name = "";
}
}