在Java中,字符串是不可變的,也就是說一旦創建了一個字符串對象后,就不可以修改它的值。因此,不能直接通過重新賦值的方式來改變字符串的值。
但是,可以使用以下方法來生成一個新的字符串對象來達到修改字符串的效果:
String str = "Hello World";
str = str.replaceAll("World", "Java");
System.out.println(str); // 輸出 "Hello Java"
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // 追加字符串
sb.insert(5, ","); // 在指定位置插入字符
sb.delete(5, 6); // 刪除指定位置的字符
sb.replace(6, 11, "Java"); // 替換指定位置的字符或子串
String result = sb.toString(); // 將StringBuilder對象轉換為String對象
System.out.println(result); // 輸出 "Hello, Java"
需要注意的是,StringBuffer類是線程安全的,而StringBuilder類是非線程安全的,所以在單線程環境下推薦使用StringBuilder類。
總而言之,要修改字符串的值,可以通過創建新的字符串對象或使用StringBuilder/StringBuffer類來實現。