Java StringBuffer setCharAt()方法及示例
StringBuffer类的 setCharAt() 方法将位置索引处的字符设置为作为参数传递给方法的字符值。该方法返回一个新的序列,该序列与旧的序列相同,唯一的区别是在新序列的索引位置有一个新的字符。索引参数必须大于或等于0,并且小于StringBuffer对象所包含的字符串的长度。
语法
public void setCharAt(int index, char ch)
参数: 该方法需要两个参数。
- index : 整数类型的值,指的是要设置的字符的索引。
 - ch :字符类型的值,指的是新的字符。
 
返回: 此方法不返回任何东西。
异常: 如果索引为负数或大于length(),该方法会抛出IndexOutOfBoundException。
以下程序演示了StringBuffer类的setCharAt()方法
例1 :
// Java program to demonstrate
// the setCharAt() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Geeks For Geeks");
  
        // print string
        System.out.println("String = "
                           + str.toString());
  
        // set char at index 4 to '0'
        str.setCharAt(7, '0');
  
        // print string
        System.out.println("After setCharAt() String = "
                           + str.toString());
    }
}
输出:
String = Geeks For Geeks
After setCharAt() String = Geeks F0r Geeks
例2: 演示IndexOutOfBoundsException。
// Java program to demonstrate
// Exception thrown by the setCharAt() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Geeks for Geeks");
  
        try {
  
            // pass index -1
            str.setCharAt(-1, 'T');
        }
  
        catch (Exception e) {
            System.out.println("Exception:" + e);
        }
    }
}
输出:
Exception:java.lang.StringIndexOutOfBoundsException: String index out of range: -1
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#setCharAt(int, char)
极客教程