Java StringBuilder setCharAt()方法及实例
StringBuilder类的 setCharAt(int index, char ch) 方法用于设置作为ch传递的位置索引上的字符。该方法将旧的序列改变为代表一个新的序列,该序列与旧的序列相同,唯一的区别是在位置索引上出现了一个新的字符ch。index参数必须大于或等于0,并且小于StringBUilder对象所包含的字符串的长度。
语法
public void setCharAt(int index, char ch)
参数:
这个方法接受两个参数。
- index – 整数类型的值,指的是你要设置的字符的索引。
- ch – 字符类型的值,指的是新的字符。
返回:
该方法不返回任何东西。
异常:
如果索引为负数,大于length(),则出现IndexOutOfBoundsException。
下面的程序说明了java.lang.StringBuilder.setCharAt()方法:
示例1 :
// Java program to demonstrate
// the setCharAt() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuilder object
// with a String pass as parameter
StringBuilder str
= new StringBuilder("WelcomeGeeks");
// print string
System.out.println("String = "
+ str.toString());
// set char at index 2 to 'L'
str.setCharAt(2, 'L');
// print string
System.out.println("After setCharAt() String = "
+ str.toString());
}
}
输出
String = WelcomeGeeks
After setCharAt() String = WeLcomeGeeks
例2 :
// Java program to demonstrate
// the setCharAt() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuilder object
// with a String pass as parameter
StringBuilder str
= new StringBuilder("Tony Stark will die");
// print string
System.out.println("String = "
+ str.toString());
// set char at index 9 to '1'
str.setCharAt(9, '1');
// print string
System.out.println("After setCharAt() String = "
+ str.toString());
}
}
输出
String = Tony Stark will die
After setCharAt() String = Tony Star1 will die
例3: 当传递负的指数时。
// Java program to demonstrate
// Exception thrown by the setCharAt() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuilder object
// with a String pass as parameter
StringBuilder str
= new StringBuilder("Tony Stark");
try {
// pass index -15
str.setCharAt(-15, 'A');
}
catch (Exception e) {
e.printStackTrace();
}
}
}
输出
java.lang.StringIndexOutOfBoundsException: String index out of range: -15
at java.lang.AbstractStringBuilder.setCharAt(AbstractStringBuilder.java:407)
at java.lang.StringBuilder.setCharAt(StringBuilder.java:76)
at GFG.main(File.java:16)
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#setCharAt(int, char)