Я пытаюсь воспроизвести этона Java. Чтобы сэкономить вам клик, в нем говорится, что массив символов ['F', 'R', 'A', 'N', 'K', NULL, 'k', 'e', 'f', 'w']
при преобразовании в строку с завершающим нулем остановится после 'K'
, поскольку там встречается нулевой указатель. Однако мои попытки Java, похоже, не работают.
public class TerminatingStrings{
public static void main(String[] args){
char[] broken = new char[3];
broken[0] = 'a';
broken[1] = '\u0000';
broken[2] = 'c';
String s = new String(broken);
System.out.println(s);
}
}
По-прежнему печатает ac
. Помимо этого, я также пробовал (1) не инициализировать сломанный [1]
и (2) явно установить для него значение null, при попытке, которое даже не компилировалось.
Возможно ли это вообще в Java? Или, может быть, я неправильно понимаю?