Они будут иметь одинаковую производительность - конкатенация будет выполняться во время компиляции, а не во время выполнения, поскольку обе части являются константами. Правда, в исходной версии будет меньше строк в пуле констант, но это вряд ли что-то изменит.
Что вы находите более читабельным? Я не могу сказать, что в этом есть много для меня - мне не нравится повторение первой формы, но в равной степени я не уверен, что хочу объединить везде.
Другая альтернатива:
public static final String PACK = "com.foo.xxs."
public static final String RECENT_MSG_ = PACK + "RecentMessage";
и т. Д. - поэтому вы выполняете конкатенацию в точке объявления константы. Тогда вы можете просто использовать RECENT_MSG_
в коде согласно первому фрагменту, но избегать дублирования com.foo.xxs согласно второму.
РЕДАКТИРОВАТЬ: Другой вариант, который вы можете рассмотреть, это использование enum.