/ / Como declarar e chamar um método java que utiliza o parâmetro bidimensional da matriz de bytes do RPG? - java, bytearray, tipos primitivos, rpgle, rpg

Como declarar e chamar um método java que usa o parâmetro bidimensional de array bye do RPG? - java, bytearray, tipos primitivos, rpgle, rpg

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 № 1

Eu 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.