Eu tenho um método java um de cujos argumentos é uma matriz de bytes bidimensional (byte[][]
) Eu queria chamar esse método do RPG. Eu sei que ele funciona para uma matriz de bytes unidimensionais, por exemplo. declarando esse argumento no RPG como nA onde n é o comprimento da matriz e A é alfabético. ou seja, nA em RPG é o mesmo que byte[]
em java. No entanto, quando adiciono DIM (k) à declaração de argumento RPG, ele diz que Keyword não é permitido no protótipo de um método. Eu poderia fazê-lo usando o tipo de dados String, mas queria evitar conversões de tipo de dados como bytes para java String e vice-versa. (questões de eficiência)
Alguém pode me ajudar a fazer o trabalho, por favor?
Respostas:
0 para resposta № 1Eu acho que o caminho a seguir aqui de umA perspectiva de compilabilidade e legibilidade do código é usar uma classe simples de invólucro de dados contendo uma matriz unidimensional e, em seguida, deixar o código principal usar uma matriz unidimensional de instâncias da referida classe de invólucro de dados.
public class MyBytePacket
{
private byte [] data;
//Constructors and getters as needed
}
E então do código principal;
MyBytePacket [] packets = new MyBytePacket[10];
Dessa forma, você pode ver quantos pacotes você possui, bem como quantos bytes cada pacote possui, mantendo o aspecto 2D desejado, mas de uma maneira mais amigável para Java.