สตริงว่างคือกระดาษห่อหุ้มที่char[]ไม่มีองค์ประกอบ char[]คุณสามารถมีที่ว่างเปล่า แต่คุณไม่สามารถมี "ว่าง" charได้ เช่นเดียวกับของดั้งเดิมอื่น ๆcharต้องมีค่า
คุณบอกว่าคุณต้องการ "แทนที่อักขระโดยไม่เว้นวรรค"
หากคุณกำลังจัดการกับ a char[]คุณจะต้องสร้างใหม่char[]โดยลบองค์ประกอบนั้นออก
หากคุณกำลังจัดการกับ a Stringคุณจะต้องสร้างใหม่String(สตริงไม่เปลี่ยนรูป) โดยลบอักขระออก
นี่คือตัวอย่างบางส่วนของวิธีการลบถ่าน:
public static void main(String[] args) throws Exception {
String s = "abcdefg";
int index = s.indexOf('d');
// delete a char from a char[]
char[] array = s.toCharArray();
char[] tmp = new char[array.length-1];
System.arraycopy(array, 0, tmp, 0, index);
System.arraycopy(array, index+1, tmp, index, tmp.length-index);
System.err.println(new String(tmp));
// delete a char from a String using replace
String s1 = s.replace("d", "");
System.err.println(s1);
// delete a char from a String using StringBuilder
StringBuilder sb = new StringBuilder(s);
sb.deleteCharAt(index);
s1 = sb.toString();
System.err.println(s1);
}