Ich brauche die folgende Sequenz als statisches Null-Byte neben zwei Nullen
final
final String POSIX_SIGNATURE = "ustar".concat("\0").concat("00");
definiert zu entkommen Wie würde ich dies entkommen, ohne die
.concat()
Methode noch den
+
String-Operators?
final String POSIX_SIGNATURE = "ustar\000";
Dies ist nicht gültig, nicht das gleiche wie das erste.
final String POSIX_SIGNATURE = "ustar\0\00";
Dies ist auch keiner.
Wie wäre es mit https://ideone.com/Tt28vf? –
Als eine Randnotiz wird die String-Verkettung von Literalen während des Kompilierens durchgeführt, also gibt es wirklich keinen Grund, dass Sie nicht etwas wie '(" Stern "+" \ 0 "+" 00 ") verwenden können, wenn Sie denken, dass es ist klarer als die Lösungen ohne Verkettung. Siehe z.B. http://ideone.com/tkZneB. – Radiodef
Große Frage. +1. Ich hatte keine Ahnung, dass Java Oktal-Char-Literale mit variabler Länge hatte. Jeden Tag lerne ich mehr seltsame Dinge über die Sprache. –