He visto una pregunta similar aquí varias veces, pero hay una gran diferencia.Tipo de devolución dinámica en el método Java
En las otras preguntas, el tipo de devolución debe ser determinado por el parámetro. Lo que quiero/necesito hacer es determinar el tipo de devolución por el valor analizado de byte[]
. De lo que he reunido, la siguiente podría funcionar:
public Comparable getParam(String param, byte[] data) {
if(param.equals("some boolean variable")
return data[0] != 0;
else(param.equals("some float variable") {
//create a new float, f, from some 4 bytes in data
return f;
}
return null;
}
Sólo quiero para asegurarse de que esto no tiene la oportunidad de trabajar antes de que la pata nada. Gracias por adelantado.
Usted ** no puede ** devolver 'float' o' boolean' de un método con una firma que dice que devuelve 'Comparable' (que realmente debería ser' Comparable > ', por cierto). Solo puede devolver 'Float' o' Boolean', etc. –
quizás una mejor pregunta para mi situación es "¿Hay alguna forma de convertir el tipo de devolución para que el método se pueda invocar sin tener que convertirlo en una variable?" – Jon
No en Java puro. (IIRC, se puede hacer en bytecode de Java, pero podría confundirme con MSIL). –