の隣にNULLバイトをエスケープのstatic finalと私は定義された次のシーケンスをエスケープする必要がある2つのゼロ
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が可変長の8進数のcharリテラルを持っているかどうかは分かりませんでした。毎日私は言語についてもっと奇妙なことを学びます。 –