6

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

例如,如何简化:

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

对于类似的东西(编造,不能这样工作):

am.getProcessMemoryInfo([mySinglePID]);
4

4 回答 4

9

只需将匿名数组用于您的代码:

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

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

new <type>[] { <list of values>};
于 2012-11-09T11:25:48.930 回答
7

尝试

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

oneliner 将是

am.getProcessMemoryInfo(new int[]{mySinglePID });
于 2012-11-09T11:23:50.343 回答
4

你可以这样做: -

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

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

于 2012-11-09T11:24:33.363 回答
2

事实上你想做:

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

您只能在声明中跳过new int[],如果您破坏它,则该语法不起作用

// NOT WORKING EXAMPLE
int[] pidArray;
pidArray = { mySinglePID };
于 2012-11-09T11:27:17.717 回答