KodeGym/Blog Jawa/Acak/Append() Metode ing Jawa: StringBuilder lan StringBuffer
John Squirrels
tingkat
San Francisco

Append() Metode ing Jawa: StringBuilder lan StringBuffer

Diterbitake ing grup
append () iku cara Jawa StringBuilder lan StringBuffer kelas sing appends sawetara nilai kanggo urutan saiki. Malah yen sampeyan ora ngerti apa append () cara, sampeyan mbokmenawa wis digunakake implicitly. Iki kedadeyan nalika sampeyan nggabungake Strings ing Jawa nggunakake operator +. Intine yaiku concatenation String ing Jawa diimplementasikake nggunakake kelas StringBuilder utawa StringBuffer lan metode append () .

Sedhela banget babagan String, StringBuffer lan StringBuilder

Kaya sing sampeyan ngerteni, kelas String pungkasan (ora ana kelas anak) lan ora bisa diganti (kahanan kelas iki ora bisa diowahi sawise nggawe). Nyatane, amarga immutability saka kelas String, kedadean string anyar digawe minangka asil saka saben operasi, lan lawas dibuwak, ngasilaken akeh sampah. Kanggo menehi hasil karo generasi sampah sauntara amarga modifikasi kanggo obyek String, sampeyan bisa nggunakake StringBuffer utawa StringBuilder kelas. Bentenipun utama antarane loro pungkasan iku StringBuffer wis Sinkronisasi nalika StringBuilder ora. Mula, gunakake StringBuffer kanggo strings sing bakal kerep diowahi ing lingkungan multi-threaded lan StringBuilder ing kasus lingkungan siji-threaded.Append() Metode ing Jawa: StringBuilder lan StringBuffer - 1

Append () ing StringBuilder lan StringBuffer

append () iku salah siji saka cara ndhuwur StringBuilder lan StringBuffer kelas. Iku appends Nilai anyar kanggo urutan saiki. Ana 13 macem-macem overloaded append () cara ing loro StringBuffer lan StringBuilder kelas. Ayo goleki metode append kanggo StringBuilder. Oalah, padha bisa digunakake ing kasus StringBuffer.
  • umum StringBuilder append(boolean b)
  • umum StringBuilder append(char c)
  • public StringBuilder append(char[] str)
  • public StringBuilder append(char[] str, int offset, int len)
  • umum StringBuilder append(CharSequence cs)
  • public StringBuilder append(CharSequence cs, int start, int end)
  • umum StringBuilder nambah (dobel d)
  • umum StringBuilder append(float f)
  • umum StringBuilder append(int i)
  • umum StringBuilder append(long lng)
  • umum StringBuilder append(obj objek)
  • public StringBuilder append(String str)
  • umum StringBuilder append(StringBuffer sb)
Ayo dadi pindhah liwat sawetara lan nerangake karo conto apa persis cara append () apa.

Java.lang.StringBuilder.append(int i)

java.lang.StringBuilder.append (int i) iku cara sing ngidini appending integer kanggo obyek StringBuilder ana. Ayo goleki conto nggunakake 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 ing kene bakal dadi:
Aku tresna marang Jawa 14
Apa sing kedadeyan ing kene? Kaping pisanan, kita nggawe StringBuilder jenenge s kanthi nilai "Aku tresna marang Jawa". Banjur ditambahake menyang integer 14 nggunakake append(int) . Strictly ngandika, kita ditambahaké ora integer, nanging senar "14" lan entuk nilai StringBuilder dianyari kanggo "Aku Jawa 14". Mangkono, cara kasebut ngowahi argumen kasebut dadi obyek StringBuilder, ngiket menyang obyek StringBuilder sing wis ana, lan ngasilake sing dianyari.

StringBuilder append() conto kanggo Object, int, boolean lan argumen String

Crita sing padha bakal ditindakake karo kabeh metode sing kakehan liyane kanthi unsur nomer, senar, karakter utawa susunan. Ayo nggawe Kelas LegoBrick lan enum Warna kanggo nduduhake metode umum StringBuilder append(Object obj) .
//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 +
              '}';
   }
}
Saiki ayo nggawe Kelas AppendDemo ing ngendi kita bakal nuduhake appending saka StringBuilder dhasar kanthi String, int, LegoBrick lan boolean. Muni aneh, nanging bisa!
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));
   }
}
Output yaiku:
Aku tresna Aku tresna Jawa Aku tresna Java14 Aku tresna Java14LegoBrick{color=RED, isConnected=false} Aku tresna Java14LegoBrick{color=RED, isConnected=false}true
Pisanan, kita nggawe lan nampilake StringBuilder "Aku tresna", banjur Pisanan, wethen sequentially ditambahake menyang nggunakake append () cara String, nomer int, perwakilan String saka Obyek lan boolean.

StringBuilder append(char[] cstr, int set, int length)

Ayo kang katon ing append () cara karo telung paramèter. Iku nambah perwakilan saka subarray saka array char diwenehi kanggo senar. Dadi kene:
  • cstr minangka susunan karakter sing bakal ditambahake
  • nyetel indeks karakter pisanan sing bakal ditambahake
  • dawa iku jumlah karakter kanggo nambah.
Kajaba kanggo cara append liyane () , iki ngasilake obyek StringBuilder sing ditambahi. Iki conto nggunakake append(char[], cstr, int set, int length) minangka bagéan saka kode app Java.
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);
   }
}
Output yaiku:
Aku tresna marang Jawa

StringBuilder append() metode karo argumen CharSequence

Sampeyan bisa uga wis weruh rong cara sing duwe CharSequence minangka argumen.
  • umum StringBuilder append(CharSequence cs)
  • public StringBuilder append(CharSequence cs, int start, int end)
Ora kabeh pamula ngerti yen CharSequence minangka Antarmuka. Miturut dokumentasi CharSequence minangka urutan nilai char sing bisa diwaca lan nyedhiyakake akses sing seragam, mung diwaca menyang macem-macem jinis urutan karakter. Antarmuka kasebut diimplementasikake dening Kelas Jawa kayata String, StringBuffer, StringBuilder lan liya-liyane. Dadi yen sampeyan ora ngerti apa sing luwih apik kanggo nggunakake ing program, String, StringBuffer utawa StringBuilder sampeyan bisa nggunakake CharSequence. StringBuilder append(CharSequence cs, int start, int end) dianggo meh kaya append(char[] cstr, int set, int length)kita rembugan ndhuwur. Nanging, cara iki nemtokake unsur pisanan saka urutan lan pungkasan. Iku penting kanggo elinga yen wiwitan kalebu ing sakteruse, nanging pungkasan ora (yaiku, unsur pungkasan ing sakteruse iku unsur sing teka sadurunge pungkasan). Kok ngono? Kayane ana ing Jawa. Ayo nduduhake apa CharSequence lan cara append (CharSequence cs) lan append (CharSequence cs, int wiwitan, int pungkasan) .
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);
       }
   }
Output yaiku:
Iki String Iki StringBuilder StringBuilderku Iki StringBuilder StringBuilderku Iki StringBuilder Iki StringBuilderku Iki StringBuilder Iki String iki
Kita nggawe loro CharSequences, kaiket String lan StringBuilder kanggo wong-wong mau lan dicithak. Kita ora bisa aplikasi append () cara langsung kanggo myStringBuilder, wiwit CharSequence ora duwe cara iki (yen sampeyan ora ngerti apa, sampeyan kudu tokoh metu bab warisan uga ngembangaken lan narrowing jinis referensi). Mulane, kita nggawe StringBuilder karo lan concatenate nggunakake cara append sequentially karo loro CharSequence. Ing pungkasan kita nambahake StringBuilder kanthi "iku" ("i" minangka unsur 5 myStringBuilder lan s minangka 6. Elinga yen ing metode kasebut, unsur sing ditemtokake minangka pungkasan ora kalebu saka urutan kasebut.

Apa babagan StringBuffer append()?

StringBuffer.append uga 13 Varian saka cara lan padha bisa persis padha karo StringBuilder.
  • umum StringBuffer append (boolean b)
  • umum StringBuffer append (karakter c)
  • public StringBuffer append(char[] str)
  • public StringBuffer append(char[] str, int offset, int len)
  • umum StringBuffer append (dobel d)
  • umum StringBuffer append (float f)
  • umum StringBuffer append(int i)
  • umum StringBuffer append (long lng)
  • umum StringBuffer append (CharSequence s)
  • umum StringBuffer append(CharSequence s, int wiwitan, int pungkasan)
  • umum StringBuffer append (obj objek)
  • umum StringBuffer append (String str)
  • umum StringBuffer append (StringBuffer sb)
Ayo dadi conto StringBuffer.append kanggo nggabungake substring. Kita mung njupuk conto StringBuilder lan ngganti kabeh StringBuilders ing kode kanggo StringBuffers.
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);
   }
}
Output yaiku:
Aku tresna marang Jawa Aku tresna marang Jawa14
Sampeyan bisa nindakake karo saben conto artikel iki. Padha bakal bisa!

Kesimpulan

Wiwit StringBuilder lan StringBuffer nuduhake paling fungsi, iku ora surprise sing loro kelas duwe cara sing padha nggunakake append () cara. Iku warta apik kanggo pangembang — sampeyan ora kudu sinau cara kapisah kanggo saben kelas. Sawise ngandika, considering macem-macem cara kanggo nggunakake append () , priksa manawa kanggo sijine ing sawetara jam saka laku nambah perwakilan saka macem-macem jinis data kanggo senar.
Komentar
  • Popular
  • Anyar
  • lawas
Sampeyan kudu mlebu kanggo ninggalake komentar
Kaca iki durung duwe komentar