Рассматривать:
System.out.println(new String(new char[10]).replace("\0", "hello"));
имеет выход:
hellohellohellohellohellohellohellohellohellohello
но:
System.out.println(new String(new char[10]).replace("", "hello"));
имеет выход:
hello hello hello hello hello hello hello hello hello hello
Откуда эти дополнительные пространства?