有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

构造函数中的Java数组不工作

一件奇怪的事情发生在我身上,我无法向自己解释,所以我希望有人能向我解释。 情况如下:我有一个叫做“Item”的类。这些类的实例用一个名称和两个整数数组实例化,表示该项的一些值(这些值的含义对此并不重要)

这是有效的:

private Item item = new Item("Something", null, null);

这不是:

private Item item = new Item("Something", {"A", "B"}, null);

然而,这是可行的:

private String[] str = {"A", "B"};
private Item item = new Item("Something", str, null);

所以。。我的问题是:为什么?我完全不明白为什么第二种方法不可能


共 (1) 个答案

  1. # 1 楼答案

    编译器不会自动知道数组的类型,因此在将其声明为表达式时必须明确定义它

    private Item item = new Item("Something", new String[] {"A", "B"}, null);