append() adalah metode Java dari kelas StringBuilder dan StringBuffer yang menambahkan beberapa nilai ke urutan saat ini. Bahkan jika Anda tidak tahu apa metode append() itu, Anda mungkin sudah menggunakannya secara implisit. Ini terjadi ketika Anda menggabungkan String di Java menggunakan operator +. Intinya adalah penggabungan String di Java diimplementasikan menggunakan kelas StringBuilder atau StringBuffer dan metode append() mereka .
Sangat Singkat tentang String, StringBuffer dan StringBuilder
Seperti yang mungkin Anda ketahui, kelas String bersifat final (tidak memiliki kelas anak) dan tidak dapat diubah (instance dari kelas ini tidak dapat dimodifikasi setelah dibuat). Faktanya, karena kekekalan kelas String, instance string baru dibuat sebagai hasil dari setiap operasi, dan yang lama dibuang, menghasilkan banyak sampah. Untuk menangani pembuatan sampah sementara akibat modifikasi objek String, Anda dapat menggunakan kelas StringBuffer atau StringBuilder. Perbedaan utama antara dua yang terakhir adalah bahwa StringBuffer disinkronkan sedangkan StringBuilder tidak. Oleh karena itu, gunakan StringBuffer untuk string yang akan sering dimodifikasi di lingkungan multi-threaded dan StringBuilder untuk lingkungan single-threaded.
Tambahkan () di StringBuilder dan StringBuffer
append() adalah salah satu metode teratas dari kelas StringBuilder dan StringBuffer. Itu menambahkan nilai baru ke urutan saat ini. Ada 13 berbagai metode append() yang kelebihan muatan di kelas StringBuffer dan StringBuilder. Mari kita lihat metode append untuk StringBuilder. Bagaimanapun, mereka bekerja persis sama dalam kasus StringBuffer.- tambahkan StringBuilder publik (boolean b)
- tambahkan StringBuilder publik (karakter c)
- publik StringBuilder menambahkan(char[] str)
- publik StringBuilder append(char[] str, int offset, int len)
- tambahkan StringBuilder publik (CharSequence cs)
- tambahkan StringBuilder publik (CharSequence cs, int start, int end)
- tambahkan StringBuilder publik (double d)
- publik StringBuilder tambahkan (float f)
- tambahkan StringBuilder publik (int i)
- tambahkan StringBuilder publik (panjang lng)
- tambahkan StringBuilder publik (Objek objek)
- tambahkan StringBuilder publik (String str)
- tambahkan StringBuilder publik (StringBuffer sb)
Java.lang.StringBuilder.append(int i)
java.lang.StringBuilder.append(int i) adalah metode yang memungkinkan menambahkan bilangan bulat ke objek StringBuilder yang ada. Mari kita lihat contoh penggunaan Java.lang.StringBuilder.append(int i) :StringBuilder s = new StringBuilder(“I love Java ”);
int i = 14;
//the method appends StringBuilder and integer
s.append(i);
System.out.println(s);
Output di sini adalah:
Saya suka Jawa 14
Apa yang terjadi disini? Pertama, kami membuat StringBuilder bernama s dengan nilai "I love Java". Kemudian ditambahkan bilangan bulat 14 menggunakan append(int) . Sebenarnya, kami menambahkan bukan bilangan bulat, tetapi string "14" dan mendapatkan nilai StringBuilder yang diperbarui menjadi "I love Java 14". Dengan demikian, metode mengubah argumen menjadi objek StringBuilder, mengikatnya ke objek StringBuilder yang sudah ada, dan mengembalikan yang diperbarui.
Contoh StringBuilder append() untuk argumen Objek, int, boolean, dan String
Cerita yang sama akan terjadi dengan semua metode kelebihan beban lainnya dengan elemen angka, string, karakter, atau array. Mari kita membuat LegoBrick Class dan Color enum untuk mendemonstrasikan metode append(Object obj) StringBuilder publik .//enum with colors
public enum Color {
RED, YELLOW, BLUE;
}
//LegoBrick Class code
public class LegoBrick {
Color color;
boolean isConnected;
public void connect() {
System.out.println("This brick is connected");
this.isConnected = true;
}
public void disconnect() {
System.out.println("Disconnected");
isConnected = false;
}
public LegoBrick(Color color, boolean isConnected) {
this.color = color;
this.isConnected = isConnected;
}
public Color getColor() {
return color;
}
public boolean isConnected() {
return isConnected;
}
@Override
public String toString() {
return "LegoBrick{" +
"color=" + color +
", isConnected=" + isConnected +
'}';
}
}
Sekarang mari kita buat Kelas AppendDemo di mana kita akan menunjukkan penambahan StringBuilder dasar dengan String, int, LegoBrick, dan boolean. Kedengarannya aneh, tetapi berhasil!
public class AppendDemo {
public static void main(String[] args) {
StringBuilder s = new StringBuilder("I love");
System.out.println(s)
//the method appends StringBuilder and String
s.append(" Java");
System.out.println(s);
//the method appends StringBuilder and int
s.append(14);
System.out.println(s);
LegoBrick legoBrick = new LegoBrick(Color.RED, false);
//the method appends StringBuilder and LegoBrick
s.append(legoBrick);
System.out.println(s);
//the method appends StringBuilder and boolean
System.out.println(s.append(5<7));
}
}
Outputnya adalah:
Saya suka Saya suka Java Saya suka Java14 Saya suka Java14LegoBrick{color=RED, isConnected=false} Saya suka Java14LegoBrick{color=RED, isConnected=false}true
Pertama, kami membuat dan menampilkan StringBuilder "I love", lalu Pertama, kami kemudian menambahkannya secara berurutan menggunakan metode append() sebuah String, sebuah nomor int, sebuah representasi String dari sebuah Object dan sebuah boolean.
StringBuilder tambahkan(char[] cstr, set int, panjang int)
Mari kita lihat metode append() dengan tiga parameter. Itu menambahkan representasi dari subarray dari array karakter yang diberikan ke string. Jadi disini:- cstr adalah larik karakter yang akan ditambahkan
- atur indeks karakter pertama yang akan ditambahkan
- panjang adalah jumlah karakter untuk ditambahkan.
public class AppendDemo {
// an example of using append(char[], cStr, int set, int length)
public static void main(String[] args) {
StringBuilder s = new StringBuilder("I love ");
//here is a char's array, part of which we are going to append to s
char[] cStr = new char[]
{'c', 'o', 'd', 'e', 'J', 'a', 'v', 'a', '1', '4'};
//we append 4 elements of cStr from the 4th element "J"
s.append(cStr, 4, 4);
System.out.println(s);
}
}
Outputnya adalah:
Saya suka bahasa Jawa
StringBuilder append() dengan argumen CharSequence
Anda mungkin telah memperhatikan dua metode yang memiliki CharSequence sebagai argumennya.- tambahkan StringBuilder publik (CharSequence cs)
- tambahkan StringBuilder publik (CharSequence cs, int start, int end)
public class CharSequenceDemo {
public static void printCharSequence(CharSequence ch) {
System.out.println(ch);
}
public static void main(String[] args) {
CharSequence myString = new String("This is String ");
printCharSequence(myString);
CharSequence myStringBuilder = new StringBuilder("This is StringBuilder ");
printCharSequence(myStringBuilder);
StringBuilder s = new StringBuilder("my StringBuilder ");
//StringBuilder.append
s.append(myStringBuilder);
System.out.println(s);
//StringBuilder.append
s.append(myString);
System.out.println(s);
s.append(myString, 5,7);
System.out.println(s);
}
}
Outputnya adalah:
Ini String Ini StringBuilder StringBuilder saya Ini StringBuilder StringBuilder saya Ini StringBuilder Ini String StringBuilder saya Ini StringBuilder Ini String
Kami membuat dua CharSequences, mengikat String dan StringBuilder ke keduanya dan mencetaknya. Kami tidak dapat menerapkan metode append() langsung ke myStringBuilder, karena CharSequence tidak memiliki metode ini (jika Anda tidak mengerti mengapa, Anda perlu mencari tahu tentang pewarisan serta memperluas dan mempersempit tipe referensi). Oleh karena itu, kami membuat StringBuilder dengan dan menggabungkan menggunakan metode append secara berurutan dengan kedua CharSequence. Pada akhirnya kami menambahkan StringBuilder kami dengan subsequence "is" ("i" adalah elemen ke-5 dari myStringBuilder dan s adalah yang ke-6. Ingat bahwa dalam metode ini, elemen yang ditentukan sebagai end dikecualikan dari subsequence.
Bagaimana dengan StringBuffer append()?
StringBuffer.append juga memiliki 13 varian metode dan cara kerjanya persis sama dengan StringBuilder.- publik StringBuffer menambahkan (boolean b)
- tambahkan StringBuffer publik (char c)
- publik StringBuffer menambahkan(char[] str)
- publik StringBuffer menambahkan(char[] str, int offset, int len)
- tambahkan StringBuffer publik (double d)
- publik StringBuffer tambahkan (float f)
- tambahkan StringBuffer publik (int i)
- tambahkan StringBuffer publik (panjang lng)
- tambahkan StringBuffer publik (CharSequence s)
- publik StringBuffer tambahkan (CharSequence s, int start, int end)
- publik StringBuffer menambahkan (Objek objek)
- tambahkan StringBuffer publik (String str)
- tambahkan StringBuffer publik (StringBuffer sb)
public class AppendDemo {
// an example of using append(char[], cStr, int set, int length)
public static void main(String[] args) {
StringBuffer s = new StringBuffer("I love ");
//here is a char's array, part of which we are going to append to s
char[] cStr = new char[]
{'c', 'o', 'd', 'e', 'J', 'a', 'v', 'a', '1', '4'};
//we append 4 elements of cStr from the 4th element "J"
//with StringBuffer.append
s.append(cStr, 4, 4);
System.out.println(s);
//StringBuffer.append adds int 14 to s
s.append(14);
System.out.println(s);
}
}
Outputnya adalah:
Saya suka Java, saya suka Java14
Anda dapat melakukannya dengan setiap contoh artikel ini. Mereka akan bekerja!
GO TO FULL VERSION