Различать строковые args[] и String[] args
Я видел два разных способа объявления массива строки, но я не понимаю разницы. Может ли кто-нибудь объяснить, в чем разница между
String args[]
и
String[] args
5 ответов
нет никакой разницы (в Java). Это одно и то же. От JLS §10.2:
[] может отображаться как часть типа в начале объявления, или как часть Декларатора для определенной переменной, или и то, и другое.
они не разница но я предпочитаю скобки после типа - легче увидеть, что тип переменной-array, а также он более читаем.
но всегда это зависит от разработчика, какой подход он подберет, и ему удобнее использовать. См. ответ @T. J. Crowder, который ссылается на официальные документы.
единственная разница заключается в том, что вы объявляете переменную и добавляете больше полей.
String args[], array[]; // array is String[]
String[] args, array[]; // array is String[][]
однако, если вы ссылаетесь на свой основной метод, я предпочитаю использовать
public static void main(String... args) {
или если args игнорируются
public static void main(String... ignored) {
на String...
это почти то же самое, что String[]
разве это можно назвать с varargs вместо массива. например,
MyClass.main("Hello", "World");
кстати, хороший пример того, почему мне не нравится []
после переменной, как тип String[]
не String .... ??
это на самом деле компилирует
public int method(String args[])[] {
что же
public int[] method(String[] args) {
но я думаю, что позже лучше.
между ними нет никакой разницы. Они оба являются объявлением массива. Для компилятора Java они одинаковы. Просто объявите переменную массива