Widziałem tutaj podobne pytanie, ale jest jedna wielka różnica.Dynamiczny typ zwracania w metodzie Java
W pozostałych pytaniach typ zwrotu należy określić za pomocą parametru. Co chcę/trzeba zrobić, to określić typ zwrotu przez przeanalizowaną wartość byte[]
. Z tego co ja zebrane dodaje mógł pracować:
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;
}
po prostu chcę się upewnić, że to ma szansę na pracę, zanim cokolwiek się wkręcić. Z góry dziękuję.
Nie możesz ** zwrócić 'float' lub' boolean' z metody z sygnaturą, która mówi, że zwraca 'porównywalne' (które naprawdę powinno być' porównywalne > 'przy okazji). Możesz tylko zwrócić 'Float' lub' Boolean', itd. –
Być może lepszym pytaniem dla mojej sytuacji jest "Czy istnieje sposób na wyrzucenie typu zwrotu, aby można było wywołać metodę bez wrzucania do zmiennej?" – Jon
Nie w czystej Javie. (IIRC, można to zrobić w bajtowym kodzie Java, ale mogę się mylić z MSIL.) –