Java返回数组

tes*_*est 2 java arrays return tostring

我在从自定义方法返回数组时遇到问题.编译好但我回来了:

[Ljava.lang.String;@20cf2c80
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

我用:

System.out.println(getItem(1));
Run Code Online (Sandbox Code Playgroud)

码:

public static String[] getItem(int e) {

String[] stats = new String[7];

            String name = "Null";
            String desc = "None";
            String typeOf = "0";
            String attackAdd = "0";
            String defenseAdd = "0";
            String canSell = "true";
            String canEat = "false";
            String earnedCoins = "0";



            if (e == 1) {

        name = "Pickaxe";
        desc = "Can be used to mine with.";
        typeOf = "2";
        }

      return new String[] { name, desc, typeOf};

    }
Run Code Online (Sandbox Code Playgroud)

救命?:\

Dav*_*d Z 8

toString()数组对象的方法实际上没有经过并产生数组内容的字符串表示,这是我认为你想要做的.为此你需要Arrays.toString().

System.out.println(Arrays.toString(getItem(1)));
Run Code Online (Sandbox Code Playgroud)

表示法[Ljava.lang.StringString数组的Java代码- 通常,数组的默认字符串表示形式[L后跟数组元素的类型.然后你得到一个分号和数组的内存地址(或某种本地唯一的ID).