Выбор ответа Senior String и пул строк обновлено

length и эмодзи

Вопрос

Что вернёт "Привет👋".length()?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 8. length() считает единицы UTF-16 (char).

Варианты ответа

  1. 7
  2. 13
  3. 10
  4. 8правильный ответ

Разбор

length() считает единицы UTF-16 (char). Шесть кириллических букв занимают по одной, эмодзи вне базовой плоскости Unicode занимает суррогатную пару из двух char: 6 + 2 = 8. Число символов (кодовых точек) 7 даёт codePointCount(0, s.length()). 13 и 10 это попытки посчитать байты UTF-8, к length() они не относятся.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме