Введение в Java
Чтобы смотреть видео нужно иметь активную платную подписку и вступить в курс. Войти или зарегистрироваться.

Создание строк

	final String name = "Slava"

Литералы - это объекты, которые создаются в коде на основании записи, сделанной по определенным правилам.

Двойные кавычки означают, что это стринговый литерал и содержимое должно быть преобразовано в объект строка. Одинарные кавычки - объект char.

Зная это, можно переписать строку следующим образом: 

	final char[] nameArray = new char[] {'', '', '', '', ''};
	final String name = String(nameArray);

В стеке - ссылка, в хипе - объект с массивом.

__Оператор конкатенации строк --> + __

При конкатенации (объединении) строк часто возникают проблемы с выделением памяти, появляется ошибка OutOfMemoryError.

Garbage Collector --> приостанавливает работу программы для очистки.

Существует два специальных класса ---> StringBuilder и StringBuffer

StringBuilder резервирует массив на 16 символов больше, чем нужно изначально. Следующее увеличение размера в два раза плюс один символ. Работает намного быстрее, чем через обычный String.

Конструкторы класса StringBuilder

  1. Создает массив через конструктор супер, передает туда длину строки плюс 16 символов и добавляет текущую строчку.

     public StringBuilder(String str) {
     	super(str.length() + 16);
     	append(str);
     }
    
  2. Создает пустой массив заданной длины.

     public StringBuilder(int capacity) {
     	super(capacity);
     }
    
  3. Default - создает массив на 16 символов.

     public StringBuilder() {
     	super(16);
     }
    

String builder и String buffer --> AbstractStringBuilder --> Object

Для SдringBuffer работают те же конструкторы и работает он так же, как и StringBuilder, за одним исключением: StringBuffer безопасен для использования в многопоточный среде, но очень медленный. В свою очередь StringBuilder небезопасный для такого использования.

Дополнительно о методах объекта String:

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

Ищем интересующие методы сопоставляя их по аргументам.

Группы для общения: