JavaRush /Java Blogu /Random-AZ /Java-da strings haqqında ən çox verilən 10 sual
ext4
Səviyyə

Java-da strings haqqında ən çox verilən 10 sual

Qrupda dərc edilmişdir

Java-da strings haqqında ən çox verilən 10 sual burada qeyd olunur

[Tərcümə] Java-da strings haqqında ən çox verilən 10 sual - 1
  1. Sətirləri necə müqayisə etmək olar? Nə istifadə etməli: " ==" yoxsa equals()?

    Bir sözlə, " ==" sətirlərə istinadları müqayisə edir, lakin equals()həmin sətirlərdə olan dəyərləri müqayisə edir. İki sətirin eyni obyekt olduğunu yoxlamaq istəmirsinizsə, istifadə etməlisiniz equals().

    Simli hovuz anlayışını bilmək də yaxşı olardı .

  2. Həssas məlumatları qorumaq üçün niyə char[]sətirlərə ( String) üstünlük verilir?

    Sətirlər dəyişməzdir . Bu o deməkdir ki, sətir yaradıldıqdan sonra zibil yığıcı işə salınana qədər dəyişdirilməyəcək. Massiv vəziyyətində onun elementlərini dəyişdirə biləcəyimiz tamamilə aydındır. Bu yolla, həssas məlumatlar (məsələn, parol) proqramın heç bir yerində aydın mətndə saxlanmayacaq.

  3. Bir keçid ifadəsindən istifadə edərkən sətirləri parametr kimi ötürə bilərikmi ?

    Bəli, JDK-nın 7-ci versiyasından başlayaraq. Əvvəllər 6-cı versiyada bu mümkün deyildi.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. Bir sətri tam dəyərə necə çevirmək olar?

    int n = Integer.parseInt("10");

    Eyni şey Java-nın digər primitiv növlərinə də aiddir.

  5. Bir sətri boşluqla ayrılmış xətlərə necə bölmək olar?

    Ən asan yol müntəzəm ifadələrdən istifadə etməkdir. " " " ", " ", " ", " " \skimi boşluq simvollarının əvəzi kimi çıxış edir . \t\r\n

    String[] strArray = aString.split("\\s+");
  6. < Metod əslində nə edir substring()?

    JDK 6-da metod substring()mövcud sətirdən simvolların bir hissəsini göstərdi, lakin sətirin ayrıca nümunəsini yaratmadı. Simvollar massivi kimi təqdim olunan yeni sətir yaratmaq üçün siz bəzi boş sətir əlavə edə bilərsiniz, məsələn, bu kimi:

    str.substring(m, n) + ""

    Nəticə yeni sətirimiz olan simvollar massividir. Bu yanaşma bəzən kodun icra müddətini azalda bilər, çünki zibil toplayıcı istifadə olunmamış böyük sətirləri məhv edə və yalnız alt sətirləri saxlaya bilər.

    Oracle JDK 7-də üsul substring()mövcud olandan istifadə etmədən yeni simvol massivi yaradır. JDK 6 və JDK 7-də substring() metodları arasındakı fərqi əks etdirən diaqrama da nəzər sala bilərsiniz .

  7. String vs StringBuilder vs StringBuffer

    Stringvs StringBuilder: StringBuilderdəyişkəndir, yəni obyekt yaradıldıqdan sonra onun məzmununu dəyişə bilərik.

    StringBuildervs StringBuffer: StringBuffersinxronlaşdırılmışdır, yəni eyni anda birdən çox mövzudan istifadə edildikdə düzgün işləyir, lakin -dən daha yavaşdır StringBuilder.

  8. Bir xətti bir neçə dəfə necə təkrarlamaq olar?

    Python-da biz sadəcə bir sətri bir ədədə vura bilərik nvə o, n dəfə təkrarlayacaq. Java-da biz Apache Commons Lang kitabxana sinfindən bir metoddan istifadə edə repeat()bilərik StringUtils.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. Bir sətri tarixə necə çevirmək olar?

    String str = "Sep 17, 2013";
    Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
    System.out.println(date);
    //Tue Sep 17 00:00:00 EDT 2013
  10. Sətirdə müəyyən bir simvolun baş vermə sayını necə hesablamaq olar?

    StringUtilsApache Commons Lang kitabxanasından bir sinifdən istifadə edin .

    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION