Что такое CharSequence

«Что такое CharSequence» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CharSequence — это интерфейс в Java, представляющий последовательность символов. Он используется для работы с различными типами текстовых данных, такими как String, StringBuilder, SpannableString и др.

Ключевые особенности:

  • Обобщает работу с текстом, не привязываясь к конкретной реализации.
  • Имеет методы length(), charAt(index), subSequence(start, end).
  • Оптимизирован для неизменяемых (String) и изменяемых (StringBuilder) данных.

Пример:

val text: CharSequence = "Hello" // String реализует CharSequence
val builder: CharSequence = StringBuilder("World") 

fun printChars(sequence: CharSequence) {
    for (i in 0 until sequence.length) {
        println(sequence[i])
    }
}

Использование:
Часто встречается в Android API (например, TextView.setText() принимает CharSequence, а не только String).