Скобки можно использовать, даже если в этом нет необходимости. Иногда это может прояснить ситуацию, иногда нет.
Например, 1 + 2 * 3 совпадает с 1 + (2 * 3). Круглые скобки, если они введены правильно, могут использоваться без изменения значения выражения, чтобы кто-то, читающий код, мог понять выражение, особенно когда выражение намного сложнее. Обратите внимание: если вы поставите круглые скобки другим способом, например (1 + 2) * 3, это будет означать что-то, отличное от двух предыдущих выражений.
В вашем примере кода эта скобка не обязательна.
Лично я бы не сказал, потому что это требует дополнительных нажатий клавиш, и это может привести к тому, что программа чтения человеческого кода снова будет сканировать эту строку, задаваясь вопросом, сложнее ли это, чем кажется, только чтобы узнать, что это не так, и тратить много маленьких пакетов. времени. Если кто-то сталкивается с таким количеством ненужных скобок, он может замаскировать существенные скобки и неправильно понять выражение позже. Просто мое личное, субъективное мнение.
String chars = (new String(ch).substring(start, start + length));
и
String chars = new String(ch).substring(start, start + length);
оба означают одно и то же.
так делают эти
String chars = ((new String(ch).substring(start, start + length)));
String chars = (((new String(ch).substring(start, start + length))));
String chars = (new String((ch)).substring(start, start + length));
String chars = (new String(ch).substring((start), start + length));
Попробуй увидеть рисунок. IMO - это нехорошо учить тому, что нужно изучать синтаксис программирования интуитивно с помощью «сопоставления с образцом», поэтому вам следует взглянуть на некоторые книги по Java, как то, что предлагал SRM.
Вы можете сделать это?
String (chars) = new String(ch).substring(start, start + length);
Вы, вероятно, скажете "нет", что правильно.
Но почему? Если вы не можете ответить почему, вам будет полезно узнать.
(Я не смеюсь над тобой, мне просто хотелось много печатать.)