Листинг из JDK 1.8:
public String toString() {
String sc = stringCache;
if (sc == null)
stringCache = sc = layoutChars(true);
return sc;
}
Для чего нужна локальная переменная sc ? она не гарантирует ничего при многопоточном выполнении метода, я никак не могу понять её предназначение. Почему нельзя просто было реализовать метод так:
public String toString() {
if (stringCache == null)
stringCache = layoutChars(true);
return stringCache;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей