OCA Java imtahan mövzuları

Important StringBuilder Methods

charAt(),  indexOf(),  length()  and  substring()

Bu 4 metod String‘in eyniadlı metodları ilə demək olar ki, eyni işi görür.

StringBuilder sb = new StringBuilder("animals");
String sub = sb.substring(sb.indexOf("a"), sb.indexOf("al"));
int len = sb.length();
char ch = sb.charAt(6);
System.out.println(sub+" "+len+" "+ch);   // anim 7 s

substring() metodu geriyə StringBuilder yox String qaytarır, ona görə də sb referansının dəyəri dəyişmir.

StringBuilder sb = new StringBuilder("animals");
sb.substring(sb.indexOf("a"), sb.indexOf("al"));
sb.append("-dog");
System.out.println(sb);   // output is animals-dog, not anim-dog
sb.append("a").substring(0, 4).insert(2, "asdf");  // DOES NOT COMPILE

Sonuncu sətir compile olunmur, çünki substring() metodu geriyə String qaytarır və String class’ının da insert() metodu yoxdur.

 

append()

StringBuilder`ə yeni parametrlər əlavə edir və geriyə həmin obyektin referansını qaytarır. append() metodu 10`dan çox tipdə parametr qəbul edir. Əsas String tipli parametrlə olan nümunələrə baxılır.
The method signature:

  • StringBuilder append(String str)
StringBuilder sb = new StringBuilder(50).append(1).append('c');
sb.append("-").append(true);
System.out.println(sb);     // output: 1c-true

 

İmtahanda mənə düşən və SYBEX kitabında olmayan yeganə sual 3 parametrli append() metodu ilə bağlı idi.
The method signature:

  • public StringBuilder append(CharSequence s, int start, int end)
String s = new StringBuilder("sb").append("0123456789", 4, 8).toString();
System.out.println(s);    // sb4567
new StringBuilder("sb").append("0123456789", 4, 11); //throws IndexOutOfBoundsException

 

insert()

StringBuilder`də qeyd olunan indeksə yeni parametrlər əlavə edir və geriyə həmin obyektin referansını qaytarır.
The method signature:

  • StringBuilder insert(int offset, String str)
    StringBuilder insert(int dstOffset, CharSequence s, int start, int end)
StringBuilder sb = new StringBuilder("animals");
sb.insert(7, "-");          // animals-
sb.insert(0, "-");          // -animals-
sb.insert(4, "-");          // -ani-mals-
System.out.println(sb);

String s2 = new StringBuilder("sb").insert(0, "0123456789", 4, 8).toString();
System.out.println(s2);    // 4567sb
new StringBuilder("sb").insert(0, "0123456789", 4, 11);  // throws Exception

 

delete() and deleteCharAt()

delete() metodu insert() metodunun əksidir. Ardıcıllıqdan (sequence) simvolları silir və geriyə həmin obyektin referansını qaytarır. Əgər ancaq bir simvol silmək istəyiriksə, o zaman deleteCharAt() metodu daha uyğundur.
The method signature:

  • StringBuilder delete(int start, int end)
    StringBuilder deleteCharAt(int index)
StringBuilder sb = new StringBuilder("abcdef");
sb.delete(1, 3);     // adef
sb.deleteCharAt(5);  // throws StringIndexOutOfBoundsException
sb.delete(1);        // DOES NOT COMPILE
sb.delete(1, 45);    // a

delete() metodu aşağıdakı hallarda StringIndexOutOfBoundsException verir:

  • start parametri mənfi dəyər olarsa;
  • start String`in ölçüsündən (length) böyük olarsa;
  • start parametri end parametrindən böyük olarsa.

deleteCharAt() metodu aşağıdakı hallarda StringIndexOutOfBoundsException verir:

  • index mənfi dəyər alarsa;
  • index String`in ölçüsünə (length) bərabər və ya ondan böyük olarsa.

 

reverse()

Ardıcıllıqdakı (sequence) simvolları tərsinə çevirir və geriyə həmin obyektin referansını qaytarır.
The method signature:

  • StringBuilder reverse()
StringBuilder sb = new StringBuilder("Ismayil");
sb.reverse();
System.out.println(sb);     // liyamsI

 

toString()

StringBuilder`i String`ə çevirir.
The method signature:

  • String toString()
String s = sb.toString();

 

[topics lang=az]

About the author

Mushfiq Mammadov

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.