Java 内联传递单元素数组

Java 内联传递单元素数组,java,arrays,Java,Arrays,我是Java新手,我遇到了几个接受给定元素数组的函数(例如,int[])。然而,在有些情况下,我只需要传递一个int,我想知道如何内联传递(例如,不首先定义数组变量) 例如,如何简化此操作: int[] pidArray = { mySinglePID }; am.getProcessMemoryInfo(pidArray); // This one accepts arrays only 类似于(虚构的,不是这样工作的): 试一试 一条航线就是 am.getProcessMemoryInfo

我是Java新手,我遇到了几个接受给定元素数组的函数(例如,
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>};