我有这个:
class test {
void main(int a[]) {
}
}
我基本上想要的是以这种方式为我的数组获取元素,是否可能?
更新
好的,你们很多人说main只能接受字符串数组,所以这是下一个问题:
class test {
public static void main(String[] args) {
}
}
现在当我在方法调用中输入一个数字时,它给出了一个错误:
不兼容的类型:int无法转换为java.lang.String []
更新2:好吧,所以我没有引用它们。 XD
提前致谢!
答案 0 :(得分:1)
这是不可能的。 main
方法的一个正确签名是main(String[] args)
(或main(String... args)
)。该方法也必须是public static
。但您可以尝试将此String[]
数组转换为int[]
:
int[] ints = new int[args.length];
for (int i = 0; i < args.length; ++i) ints[i] = Integer.valueof(args[i]);
或Java 8方式:
int[] ints = Arrays.stream(args).mapToInt(Integer::valueOf).toArray();
答案 1 :(得分:1)
main
函数必须接受Java中的String数组,因为命令行参数是一个String数组。实际上,C ++ / C也和Java一样。就像这样:
int main(int argc, char * argv[]){} //C++/C
和
void main(String[] a){} // Java