2 回答
TA贡献1829条经验 获得超7个赞
您可以按如下方式进行操作:
public class Test {
public static void main(String args[]) {
String str = "Hello World!";
String newStr = "";
int startFrom = 2, endBefore = 5;// test startFrom and endBefore indices
for (int i = startFrom; i < endBefore; i++)
newStr += String.valueOf(str.charAt(i));
System.out.println(newStr);
}
}
输出:
llo
使用StringBuilder有两个明显的优点:
在将值附加到字符串之前,您不需要将值String.valueOf转换char为value,因为StringBuilder支持直接向其附加值。Stringchar
您可以避免创建大量String对象,因为由于它String是一个不可变的类,因此每次尝试更改字符串都会创建一个新String对象。你可以在这里查看一个很好的讨论。
public class Test {
public static void main(String args[]) {
String str = "Hello World!";
StringBuilder newStr = new StringBuilder();
int startFrom = 2, endBefore = 5;// test startFrom and endBefore indices
for (int i = startFrom; i < endBefore; i++)
newStr.append(str.charAt(i));
System.out.println(newStr);
}
}
TA贡献1805条经验 获得超10个赞
我假设这是一个家庭作业问题,但如果您想要提示,您可以使用它myString.toCharArray()
来提取char[]
字符串中每个字符的 a 并myString.charAt(0)
获取索引 0 处的字符。
您还可以从字符数组构造一个新的字符串,new String(myCharArray)
因此您可以简单地
获取原始字符串并获取字符数组(
char[] myChars = myString.toCharArray();
例如)将字符数组复制到一个新的、更短的数组中 (
char[] mySubstringChars = ...
)将较短的 char 数组更改回 String (
String mySubstring = new String(mySubstringChars);
)
添加回答
举报