Senhores,
Estou acessando um método de uma DLL de um equipamento via JNA, onde este método tem como assinatura int metodo_qualquer( int a, string *b ), onde o parâmetro “b” é um passado como referência, haja visto, que depois da execução do método este terá um valor no qual deverei tratalo. Mas no JAVA, até onde entendo, a passagem de parâmentro funciona por valor, ou seja é passado para o método uma cópia da referência String. Portanto no final da execução do método o valor do parâmentro “b” não muda. Veja exemplo mostrado a seguir:
String b = “teste 1”
System.out.println(“b-” + b); // Imprime “teste 1”
metodo_qualquer(1,b)
System.out.println(“b-” + b); // Imprime “teste 1”
public int metodo_qualquer(a,b) {
String b = “teste 2”;
return 0;
}
Desta forma, alguem tem alguma dica de como poderei ter o valor da parâmetro “b” alterado mesmo depois da execução do método “metodo_qualquer”. Vale lembrar que a DLL que possui o método “metodo_qualquer” eu não tenho acesso, haja visto, que esta foi desenvolvida em C.
Obrigado.