6

私はJavaが初めてで、これにより、特定の要素の配列を受け入れるいくつかの関数に遭遇しました(例:int[])。ただし、渡す int が 1 つしかない場合があり、これをインラインで行う方法を考えていました (たとえば、最初に配列変数を定義せずに)。

たとえば、これを単純化する方法は次のとおりです。

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);

ワンライナーは

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 に答える