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