English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在此示例中,我们将学习使用delete()和setLength()方法清除字符串缓冲区,并在Java中创建一个新的StringBuffer对象。
class Main { public static void main(String[] args) { //创建一个字符串缓冲区 StringBuffer str = new StringBuffer(); //Fügen Sie den String zum String-Buffer hinzu str.append("Java"); str.append(" ist"); str.append(" popular."); System.out.println("StringBuffer:") + str); //String löschen //使用delete() str.delete(0, str.length()); System.out.println("Aktualisierte StringBuffer:") + str); } }
Ausgaberesultat
StringBuffer: Java is popular. Aktualisierte StringBuffer:
在上面的示例中,我们使用了StringBuffer类的 delete() 方法来清除字符串缓冲区。
在此,delete()方法将删除指定索引号内的所有字符。
class Main { public static void main(String[] args) { //创建一个字符串缓冲区 StringBuffer str = new StringBuffer(); //Fügen Sie den String zum String-Buffer hinzu str.append("Java"); str.append(" ist"); str.append(" großartig."); System.out.println("StringBuffer:") + str); //String löschen //使用 setLength() str.setLength(0); System.out.println("Aktualisierte StringBuffer:") + str); } }
Ausgaberesultat
StringBuffer: Java ist großartig. 更新后的 StringBuffer
这里,setLength()方法将StringBuffer中的字符序列更改为新的字符序列。并且,将新字符序列的长度设置为0。
因此,旧的字符序列被垃圾回收。
注意:SetLength()方法完全忽略字符串缓冲区中存在的字符序列。 而,delete()方法访问字符序列并将其删除。 因此,setLength()比delete()更快。
class Main { public static void main(String[] args) { //创建一个字符串缓冲区 StringBuffer str = new StringBuffer(); //Fügen Sie den String zum String-Buffer hinzu str.append("Java"); str.append(" ist"); str.append(" großartig."); System.out.println("StringBuffer:") + str); //String löschen //Verwenden Sie new //Hier wird ein neues Objekt erstellt und der Variable str zugewiesen str = new StringBuffer(); System.out.println("Aktualisierte StringBuffer:") + str); } }
Ausgaberesultat
StringBuffer: Java ist großartig. Aktualisierte StringBuffer:
Hier wird ein neuer String-Buffer-Objekt erstellt und der vorherige Variable dem neuen Objekt zugewiesen. In diesem Fall wird der vorherige Objekt dort sein. Aber es wird nicht zugänglich sein und daher wird es als Müll wiederverwendet.
Weil nicht immer der vorherige String-Buffer gelöscht wird, sondern ein neuer String-Buffer erstellt wird. Daher ist die Effizienz in Bezug auf die Leistung niedriger.