Java 内联传递单元素数组
我是Java新手,我遇到了几个接受给定元素数组的函数(例如,Java 内联传递单元素数组,java,arrays,Java,Arrays,我是Java新手,我遇到了几个接受给定元素数组的函数(例如,int[])。然而,在有些情况下,我只需要传递一个int,我想知道如何内联传递(例如,不首先定义数组变量) 例如,如何简化此操作: int[] pidArray = { mySinglePID }; am.getProcessMemoryInfo(pidArray); // This one accepts arrays only 类似于(虚构的,不是这样工作的): 试一试 一条航线就是 am.getProcessMemoryInfo
int[]
)。然而,在有些情况下,我只需要传递一个int,我想知道如何内联传递(例如,不首先定义数组变量)
例如,如何简化此操作:
int[] pidArray = { mySinglePID };
am.getProcessMemoryInfo(pidArray); // This one accepts arrays only
类似于(虚构的,不是这样工作的):
试一试
一条航线就是
am.getProcessMemoryInfo(new int[]{mySinglePID });
您可以这样做:-
am.getProcessMemoryInfo(new int[]{ mySinglePID });
因此,您不需要在这里声明数组变量。只需传递一个未命名的
数组
对象。只需对代码使用匿名数组:
am.getProcessMemoryInfo(new int[]{mySinglePID }); // This one accepts arrays only
匿名数组:在java中,使用以下语法创建匿名数组是完全合法的
new <type>[] { <list of values>};
new[]{};
事实上,您希望执行以下操作:
am.getProcessMemoryInfo(新的int[]{mySinglePID});
您只能在声明中跳过newint[]
,如果您破坏了它,则该语法不起作用
//不起作用的示例
int[]数组;
pidArray={mySinglePID};
在我发布问题30秒后,我就明白了。无论如何感谢您的帮助。实际上,您的第一个示例与OP中发布的示例相同。在使用就地初始化时,您不需要显式使用new int[]
。OP需要的是第二个。@RohitJain是的,你是对的。但这也行,不是吗??
am.getProcessMemoryInfo(new int[]{mySinglePID }); // This one accepts arrays only
new <type>[] { <list of values>};