JavaRush /Java блог /Random UA /Рівень 22. Відповіді на запитання до співбесіди на тему р...
zor07
31 рівень
Санкт-Петербург

Рівень 22. Відповіді на запитання до співбесіди на тему рівня

Стаття з групи Random UA
Рівень 22. Відповіді на запитання до співбесіди на тему рівня - 1
  1. Як правильно порівняти два рядки в Java?

    Метод equalsперевіряє – чи збігаються рядки.

    boolean equals (Object o)
    String s = "cat";
    boolean test1 = s.equals("cat");//true
    boolean test2 = s.equals("Cat");//false
    boolean test3 = s.equals("c"+"a"+"t");//true
  2. Як правильно порівняти два рядки в Java ігноруючи регістр літер?

    Метод equalsIgnoreCase– чи збігаються рядки, ігноруючи регістр літер.

    boolean equalsIgnoreCase (String str)
    String s = "cat";
    boolean test1 = s.equalsIgnoreCase("cat");//true
    boolean test2 = s.equalsIgnoreCase("Cat");//true
    boolean test3 = s.equalsIgnoreCase("cAT");//true
  3. Як відсортувати список рядків у алфавітному порядку?

    Використовуючи метод Collections.sort().

    ArrayList list = new ArrayList<>();
    list.add("zas");
    list.add("fas");
    list.add("sd");
    list.add("asdg");
    Collections.sort(list);
    
  4. У якому кодуванні зберігаються рядки Java?

    Рядки в java зберігаються в Unicode.

  5. Як перетворити рядок на кодування Windows-1251?

    String utf8 = "text";
    byte[] bytes1251 = utf8.getBytes("windows-1251");
    String win1251 = new String(bytes1251,"windows-1251");
  6. Як розбити рядок на окремі слова?

    • String[] split(String regex)
    • StringTokenizer:

      String s = "Good news everyone!";
      
      StringTokenizer tokenizer =
         new StringTokenizer(s,"ne");
      while (tokenizer.hasMoreTokens())
      {
       String token = tokenizer.nextToken();
       System.out.println(token);
      }
  7. Як розгорнути рядок задом наперед?

    String s = "Bender";
    StringBuilder s2 = new StringBuilder(s);
    s2.reverse(); //будет "redneB";
  8. Що відбувається, коли ми пишемо "A"+"b"+"C"?

    Приблизно таке:

    new StringBuilder().append("A").append("b").append("C").toString();
  9. Що таке mutableтипи immutable?

    Об'єкти, які після їх створення не можна змінити, називаються незмінними або immutable.

    Об'єкти, які можна змінити після створення, називаються змінними або mutable.

  10. Що дає типу Stringте, що його зробабо immutable?

    • Безпека.

      Stringшироко використовується, як параметр для багатьох класів Java, зокрема для відкриття мережевих з'єднань, підключень до БД, відкриття файлів та ін. потім змінити рядок з ім'ям (випадково або навмисно) і отримати доступ до іншого файлу.

      Також Stringвикористовується у механізмі завантаження файлів, і це – фундаментальний аспект. І якщо б рядок змінювався, то запит на завантаження " java.io.Writer " міг би бути змінений на " DiskErasingWriter ".

    • Hashcode

      Через те, що рядок не змінюється, вона кешує свій хешкод і не обчислює його щоразу, коли ми його викликаємо, що робить рядок дуже швидким як ключ для hashmap.

    • Багатопоточність

      immutableробить екземпляри рядків потокобезпечними.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ