Java 如何将数组从脚本传递到main(args[])
我正在编写一个脚本,从用户那里获取一些输入。现在我有3个变量:2个字符串和一个数组。我能够将我的2个字符串传递到main,但我不知道如何将数组与其他字符串一起传递 这就是我现在拥有的Java 如何将数组从脚本传递到main(args[]),java,arrays,bash,shell,Java,Arrays,Bash,Shell,我正在编写一个脚本,从用户那里获取一些输入。现在我有3个变量:2个字符串和一个数组。我能够将我的2个字符串传递到main,但我不知道如何将数组与其他字符串一起传递 这就是我现在拥有的 java $myJava $var1 $var2 $array Java的main只接受一个字符串数组,所以var1和var2工作得很好,但是如何传入由用户输入的数量可变的数组呢?有没有一种方法可以将我的数组转换为许多变量,然后将其传递到main中?如果$array是一个实际的Bash数组(例如,它是使用声明-a
java $myJava $var1 $var2 $array
Java的main只接受一个字符串数组,所以var1和var2工作得很好,但是如何传入由用户输入的数量可变的数组呢?有没有一种方法可以将我的数组转换为许多变量,然后将其传递到main中?如果
$array
是一个实际的Bash数组(例如,它是使用声明-a array
或另一个Bash数组创建技术声明的),那么您只需要这样做
java $myJava "$var1" "$var2" "${array[@]}"
这将把数组提取到多个位置参数中,这样传递到main
中的args
数组将
{ var1 , var2 , array[0] , array[1] , array[2] , ... }
如果
$array
是一个实际的Bash数组(例如,它是使用declare-a array
或其他Bash数组创建技术声明的),那么您只需要
java $myJava "$var1" "$var2" "${array[@]}"
这将把数组提取到多个位置参数中,这样传递到main
中的args
数组将
{ var1 , var2 , array[0] , array[1] , array[2] , ... }
Java的main也接受varargs
main(String…args)
。。。复制到另一个array@Gendarme是的,但这如何解决OP的问题?用varargs语法拼写main()
方法的签名实际上并不会改变它所呈现的界面。@约翰伯林格我不确定OP要求的是什么,但由于他提到了“可变输入数”,我认为varargs可能会有所帮助。@宪兵同样如此,OP可以使用任何适用的迭代方法。args[]
的长度不是固定的。Java的main也接受varargsmain(String…args)
。。。复制到另一个array@Gendarme是的,但这如何解决OP的问题?用varargs语法拼写main()
方法的签名实际上并不会改变它所呈现的界面。@约翰伯林格我不确定OP要求的是什么,但由于他提到了“可变输入数”,我认为varargs可能会有所帮助。@宪兵同样如此,OP可以使用任何适用的迭代方法。args[]
的长度不是固定的。