En PL/SQL (o en muchos otros idiomas), puedo tener parámetros IN OUT o OUT, que se devuelven de un procedimiento. ¿Cómo puedo lograr algo similar en Java?Cómo crear parámetros IN OUT o OUT en Java
Sé que este truco:
public void method(String in, String[] inOut, String[] inOut2) {
inOut[0] = in;
}
donde el parámetro in
representa un parámetro IN y el parámetro inOut
puede contener un valor de retorno. La convención sería que String[] inOut
es una matriz de inOut.length == 1
.
Eso es un poco torpe.
EDITAR Evaluación de respuestas: Otros trucos incluyen: clases
- titular/envoltura, pero no quiero introducir nuevos tipos, las devoluciones de llamada, etc.
- valores de retorno: I' d como una solución general. Es decir. uno con varios parámetros IN OUT involucrados.
- envoltorio para el parámetro IN OUT como valor de retorno: Esa es una opción viable, pero todavía no es tan agradable, ya que el envoltorio tendría que ser generada de alguna manera
¿alguien sabe una mejor manera de lograr esto por lo general? La razón por la que necesito una solución general es porque quiero generar código fuente conveniente de PL/SQL en un esquema de base de datos.
* "valores de retorno: me gustaría una solución general, es decir, una con varios parámetros IN OUT involucrados" * Consulte mi respuesta. Varios params IN/OUT? Devuelve una instancia de objeto con propiedades para cada uno. Salvo eso, no, no hay nada mejor que el truco de la matriz. –
Cuando comencé a aprender Java, después de muchos años de desarrollo de C/C++, también busqué una manera de pasar por referencia. Pero ahora, años después de eso, ya no recuerdo la última vez que quise hacer eso. El truco de matriz es menos elegante que otros enfoques citados en estas respuestas y comentarios. –