StringBuffer sb3 = new StringBuffer("ankit");
System.out.println(sb3);
sb3.insert(10,"kumar" );
System.out.println(sb3);
异常
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: 10
at java.lang.AbstractStringBuilder.insert(Unknown Source)
at java.lang.StringBuffer.insert(Unknown Source)
at StringBufferEX.main(StringBufferEX.java:28)
答案 0 :(得分:1)
sb3.insert(5, "kumar");
输出:ankitkumar
sb3.insert(0, "kumar");
输出:kumarankit
StringBuffer insert(int offset, String s)
- 用于在指定位置插入带有此字符串的指定字符串。
你试图访问的偏移量10将不存在。这就是你得到StringIndexOutOfBoundsException的原因。
答案 1 :(得分:-1)
这应该有效:
StringBuffer sb3 = new StringBuffer("ankit");
int desiredPosition = 10;
for(int i = sb3.length(); i <= desiredPosition; i++) sb3.append(' ');
sb3.insert(desiredPosition, "kumar" );
System.out.println(sb3);
这会增加空格以填补空白,避免StringIndexOutOfBoundsException。