3

今、私はこの命令のすべての引数が実際に何を意味するかを見たいと思っていますが、Javaコードをどのように書いていたかに関係なく、dexでfilled-new-arrayを見たことはありませんでした:

int[] iArr1 = new int[5];//just a new-array
int[] iArr2 = {3, 4, 5, 6};//a "new-array" and "fill-array-data"

iArr2はfilled-new-arrayを生成する必要があり、要素は次のとおりだと思います。では、dexファイルでfilled-new-array命令を生成するにはどうすればよいですか?

すべての有用な回答に感謝します!

4

1 に答える 1

3

通常、filled-new-array オペコードは、多次元配列を作成するときに使用されます。

以下のいずれかで、filled-new-array 命令が得られます。

int[][] iiArr1 = new int[1][2];
int[][] iiArr2 = new int[][] { { 3, 4, 5, 6 }, { 7, 8, 9, 0} };

他のオペコードの同様の例を見つけるには、dx ツールのテストを参照することをお勧めします。これには、ほとんどのオペコードを生成する Java コードの例があります。たとえば、このテストには、filled-new-array オペコードを生成する Java コードの例があります。

于 2013-11-01T06:56:37.687 に答える