- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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;
}
Внешняя зависимость же... Не всегда айс. Или там guava/commons уже юзается?
Там люди сделали NativeStringCache, например, кто догадается как он работает?
Или ты о сборке мусора из пула интернированных строк?
OutOfMemoryError: PermGen space error
Это сильно заябывает. А куча больше.
Интернируем - раз при создании, как и расчёт хеш-кода. А equals нужно много раз на немутабельном объекте (те же мапы, они везде).
Если конечно строки не одноразовые, типа такого гогна:
while(it.hasNext()) s+=it.next();
Короче от контекста зависит.