- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 
public static String elvis(String value, String ifNull) {
        return value == null ? ifNull : value;
    }
    public static Boolean elvis(Boolean value, Boolean ifNull) {
        return value == null ? ifNull : value;
    }
    public static Object elvis(Object value, Object ifNull) {
        return value == null ? ifNull : value;
    }
                                
 Follow us!
Внешняя зависимость же... Не всегда айс. Или там guava/commons уже юзается?
Там люди сделали NativeStringCache, например, кто догадается как он работает?
Или ты о сборке мусора из пула интернированных строк?
OutOfMemoryError: PermGen space error
Это сильно заябывает. А куча больше.
Интернируем - раз при создании, как и расчёт хеш-кода. А equals нужно много раз на немутабельном объекте (те же мапы, они везде).
Если конечно строки не одноразовые, типа такого гогна:
while(it.hasNext()) s+=it.next();
Короче от контекста зависит.