В Java, в соответствии с Java Language Specification 12.1.4 основной метод должен быть объявлен следующим образом:Почему только String [] args в java вместо Object [] args?
public static void main(String[] args){
//code of program
}
С использованием String[] args
мы можем получить аргументы командной строки. Иногда эти аргументы командной строки необходимо преобразовать в соответствующий тип. Предположим, если вы поставили любое число 123
в качестве аргумента, и вы хотите, чтобы преобразовать его в int
то можно использовать один из следующих методов преобразования:
int n1=Integer.valueOf(args[0]);
//or
int n2=Integer.parseInt(args[0]);
Но, если ява могли бы обеспечить использование в Objects[] args
вместо String[] args
затем мы можем легко конвертировать из одного типа в другой, для этого примера преобразования будет происходить следующим образом:
public static void main(Object[] args){
int n1=(Integer)args[0];
}
Я не получаю это, почему Java использовали String[] args
и не Object[] args
?
Простой. Как передать объект через вашу командную строку? –
Командная строка предоставляет строки. Как бы вы различали строку и целое число? Просто быть числовым значением недостаточно, чтобы считать его целым числом. –
Ravi - Хорошо думать за пределами того, что мы делаем в настоящее время. FYI - Powershell/.NET/C#/Командлеты могут действительно сделать что-то вроде этого http://msdn.microsoft.com/en-us/library/ms714395%28v=vs.85%29.aspx http: //crazorsharp.blogspot .com/2009/12/PowerShell, как-командная строка-arguments.html – mikey