public class Hello {
public static void main(String args[]) {
System.out.println(" This is awesome "+args);
}
}
在上面的代码中,为什么必须在String args[]
中提及main()
,为什么在打印时我们会将"[Ljava.lang.String;@174e5edb"
作为输出?
答案 0 :(得分:1)
为什么必须在main()
中提到“String args []”
那是因为你可以在启动时将参数传递给应用程序,然后是该数组的内容。作为替代方案,您可以使用varargs,即String... args
。
为什么我们打印时会将“[Ljava.lang.String; @ 174e5edb”作为输出
这就是为数组实现toString()
方法的方式(实际上是Object
)。请改用Arrays.toString(args)
。
答案 1 :(得分:0)
main
方法的签名只是按照它的方式定义。 String[]
用于将参数传递给程序。 "[Ljava.lang.String;@174e5edb"
是值的类型,即String[]
("[Ljava.lang.String"
)。接下来是堆中的位置("@174..."
)。这是在java中表示对象的默认方式。如果要打印阵列的内容,可以使用System.out.println(Arrays.toString(args));
。