传递单元素数组内联

时间:2012-11-09 11:23:04

标签: java arrays

我是Java新手,我遇到了几个接受给定元素数组的函数(例如int[])。但是,有些情况下我只有一个int传递,我想知道如何进行内联(例如,不首先定义数组变量)。

例如,如何简化:

int[] pidArray = { mySinglePID };
am.getProcessMemoryInfo(pidArray); // This one accepts arrays only

类似的东西(组成,不起作用):

am.getProcessMemoryInfo([mySinglePID]);

4 个答案:

答案 0 :(得分:9)

只需为您的代码使用匿名数组:

am.getProcessMemoryInfo(new int[]{mySinglePID }); // This one accepts arrays only

匿名数组:在java中,使用以下语法创建匿名数组是完全合法的。

new <type>[] { <list of values>};

答案 1 :(得分:7)

尝试

int[] pidArray = new int[]{ mySinglePID };
am.getProcessMemoryInfo(pidArray);

oneliner将是

am.getProcessMemoryInfo(new int[]{mySinglePID });

答案 2 :(得分:4)

你可以这样做: -

am.getProcessMemoryInfo(new int[]{ mySinglePID });

所以,你不需要在这里声明你的数组变量。只需传递一个未命名的 array对象。

答案 3 :(得分:2)

事实上你想做:

am.getProcessMemoryInfo( new int[] { mySinglePID } );

你只能在声明中跳过new int[],如果你打破它,语法不起作用

// NOT WORKING EXAMPLE
int[] pidArray;
pidArray = { mySinglePID };