freeCodeCamp/guide/russian/kotlin/strings/index.md

5.9 KiB
Raw Blame History

title localeTitle
Strings Строки

Строки

Строка - один из базовых типов данных в языке программирования Kotlin. Строки представлены типом String. Строки неизменяемы. Kotlin имеет богатый API для удобной работы со строками.

Основное использование

Объявление

// явное объявление типа
 var firstName : String = "Elon" 
 
 // или неявное объявление типа (оба варианта скомпилируются)
 val lastName = "Musk" 

Кроме того, обратите внимание на использование ключевого слова val при объявлении переменной, вот как оно себя ведет:

firstName = "Mark" // переменная может быть изменена
 lastName = "Zuckerberg" // переменная не может быть изменена
 lastName = 12 // Ошибка: несоответствие типов

Сложение строк (конкатенация)

В нижеприведённом примере мы прибавляем Int к String, что приведёт к выводу String.

var str = "abc" + 1 
 println(str + "def") 

Вывод:

abc1def 

Даже без явного преобразования значения Int (в данном случае 1) в объект String в результате получается String.

Строка с несколькими строками

Kotlin позволяет объявлять переменные String с несколькими строками, используя тройные кавычки вместо одинарных:

var str = """ 
        This is line 1 
        This is line 2 
        This is line 3 
        """ 
 println(str) 

Вывод:

        This is line 1 
        This is line 2 
        This is line 3 

или с .trimIndent()

Использование trimIndent() дополнительно помогает обеспечить чистый выходной формат, удалив лишние и ненужные отступы в каждой строке. Изучите фрагмент кода ниже:

var str = """ 
        This is line 1 
        This is line 2 
        This is line 3 
        """.trimIndent() 
 println(str) 

Вывод:

This is line 1 
 This is line 2 
 This is line 3 

Доступ к символам строки

Доступ по индексу

Программисты могут обращаться к элементам (символам) строки, используя оператор доступа по индексу:

var str = "Example" 
 println(str[2]) 

Вывод:

a 

Это похоже на доступ к элементу из массива. Другой пример:

var str = "Example" 
 println(str[9]) // Ошибка: индекс выходит за границы

Итерация через строку

Элементы строки - это символы, к которым можно получить доступ через индекс: s[i] .

var str = "Example" 
 for (c in str) { 
    println(c) 
 } 

Вывод:

E 
 x 
 a 
 m 
 p 
 l 
 e 

Неизменяемость строки

Как и в Java, вы не можете изменять отдельные элементы String:

var str = "Example" 
 str[2] = "b" // Ошибка

Повторное присвоение значений String

var str = "Example" 
 println(str) 
 str = "Example was changed" 
 println(str) 

Вывод:

Example 
 Example was changed 

Свойства строки

Определение длины строки

var str = "Example" 
 println(str.length) 

Вывод:

7 

Функции строки

Это некоторые из обычных функций String, доступных в текущей версии Kotlin.

compareTo

Сравнивает данный объект с другим указанным объектом. Возвращает ноль, если данный объект равен указанному другому объекту, отрицательное число, если данный объект "меньше" другого, или положительное число, если объект "больше" другого.

var str = "Example" 
 var str2 = "Example123" 
 var str3 = "Example12345" 
 println(str.compareTo(str2)) 
 println(str.compareTo(str3)) 
 println(str3.compareTo(str)) 
 println(str.compareTo("Example")) 

Вывод:

-3 
 -5 
 5 
 0 # Equal 

equals

Указывает, является ли объект String в точности равным другому объекту String

var str = "Example" 
 var str2 = "Example2" 
 println(str.equals("Example")) 
 println(str2.equals("Example")) 

Вывод:

true 
 false 

get

Возвращает символ в указанном индексе в этой последовательности символов.

var str = "Example"
println(str.get(3))

Вывод:

m

toString

Возвращает строковое представление объекта.

println(9.toString() + 10)
println(9 + 10)

Вывод:

"910"
19

Ресурсы