我是Java新手,我遇到了几个接受给定元素数组的函数(例如int[]
)。但是,有些情况下我只有一个int传递,我想知道如何进行内联(例如,不首先定义数组变量)。
例如,如何简化:
int[] pidArray = { mySinglePID };
am.getProcessMemoryInfo(pidArray); // This one accepts arrays only
类似的东西(组成,不起作用):
am.getProcessMemoryInfo([mySinglePID]);
答案 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 };