Я решал задачи и увидел такую конструкцию:
String t[] = new String[n], e;
Не могли бы вы помочь мне, что означает ", e"? Не смог найти что-то по этому поводу




Это просто способ объявить 2 переменные без указания типа String дважды. Например, это объявляет x и y со значениями 5 и 6:
int x = 5, y = 6;
В вашем случае t объявлен как массив строк со значением, присвоенным как new String[n], а e является строкой (значение не присвоено), поэтому его необходимо присвоить, прежде чем ссылаться на e позже.
IMO гораздо понятнее указать в отдельных строках скобки перед именем переменной:
String[] t = new String[n];
String e;
Также обратите внимание, что перемещение [] перед t изменяет определение e на String[], так что String [] t = new String[n], e эквивалентно:
String[] t = new String[n];
String[] e;
Если вы переместите скобки, оба будут String[] в этом: String [] t = new String[n], e
@FedericoklezCulloca Похожий пример представлен в JLS 17, 10.2 Переменные массива, так что, возможно, вы можете использовать его в качестве отправной точки (я не хочу тратить больше времени на исследование этой эзотерической мерзости;)). Похоже, что этот раздел действительно определяет это, но у меня нет энергии для внимательного чтения.
будет ли String[] t[] указывать на двумерный массив?
@experiment unit 1998X Да что бы объявить String[][] t и String[] e
Я просматриваю спецификацию Java, чтобы понять, что Зачем
e— этоString, а неString[]. У кого-нибудь есть ссылка на это под рукой?