мне нужно, чтобы избежать следующей последовательности определяется как статические окончательногоСпасаясь нулевыми байтами рядом с двумя нулей
final String POSIX_SIGNATURE = "ustar".concat("\0").concat("00");
Как бы этого избежать, не используя метод .concat()
, ни оператор +
строки?
final String POSIX_SIGNATURE = "ustar\000";
Это недопустимо, не совпадает с первым.
final String POSIX_SIGNATURE = "ustar\0\00";
И это не одно.
Как насчет https://ideone.com/Tt28vf? –
В качестве примечания, конкатенация литералов 'String' выполняется во время компиляции, поэтому нет причин, по которым вы не можете использовать что-то вроде' («ustar» + «\ 0» + «00») ', если вы думаете, что это более четкими, чем решения без конкатенации. См. http://ideone.com/tkZneB. – Radiodef
Большой вопрос. +1. Я понятия не имел, что java имеет восьмеричные литералы переменной длины. Каждый день я узнаю более странные вещи о языке. –