Типы строк в Java

Для хранения строки мы знаем тип String. Но он не всегда бывает эффективен.

Поэтому есть еще другие классы для хранения строк и взаимодействия с ними, которые нужно знать.

Поясним на примере:

public class StringTypes { public static void main(String[] args) { // Создадим String переменную String output = “Some text”; // и добавим в конец этой строки единицу и пробел сто раз. int count = 100; for(int i = 0; i < count; i++) { output += i + " "; // При каждой итерации цикла // создается НОВЫЙ объект String с очередным добавленным i. // Просто представьте, как это плохо скажется на памяти } System.out.println(output); } }

Вывод:

Поэтому существует StringBuffer, который решает эту проблему.

public class StringTypes { public static void main(String[] args) { int count = 100; // Поэтому существует StringBuffer, который решает эту проблему StringBuffer output = new StringBuffer(110); // append – добавить в объект StringBuffer текст output.append(“Some text”); for(int i = 0; i < count; i++) { output.append(i + " "); // Теперь при каждой итерации // работаем всего с одним экземпляром StringBuffer // Профит! } System.out.println(output.toString()); } }

Вывод:

Search Icon

Также есть StringBuilder – то же самое, что и StringBuffer только потокоНЕбезопасен, поэтому работает быстрее

Классы обертки

Изучите классы-обертки в Java (Integer, Char, Float): их назначение, отличие от примитивов и возможность хранения null. Примеры использования.

Time to read: 7

Ключевое слово Assert

Используйте assert в Java для проверки условий при разработке. Узнайте, как работает ключевое слово assert и зачем нужен флаг -ea для его активации.

Time to read: 5

Default методы в интерфейсах

Default методы в Java 8: как добавлять реализации в интерфейсы, чтобы избежать дублирования кода в классах. Разбор на примерах.

Time to read: 6