Il tuo array è costituito da primitive byte
, ma stai cercando di richiamare un metodo su di esse.
Non c'è bisogno di fare qualsiasi cosa esplicita per convertire un byte
a un int
, basta:
int i=rno[0];
... dato che non è un abbattuto.
Solo per completezza # 1: Se hai desidera utilizzare i vari metodi di Byte
per qualche motivo (non c'è bisogno di qui), si potrebbe usare un boxing conversion:
Byte b = rno[0]; // Boxing conversion converts `byte` to `Byte`
int i = b.intValue();
O il Byte
constructor:
Byte b = new Byte(rno[0]);
int i = b.intValue();
Ma ancora una volta, è non ne ho bisogno qui.
Solo per completezza # 2: Se fosse un bassi (ad esempio, se si stava tentando di convertire un int
ad un byte
), tutto ciò che serve è un cast:
int i;
byte b;
i = 5;
b = (byte)i;
Questo assicura al compilatore di sapere che si tratta di un downcast, quindi non si ottiene l'errore "Possibile perdita di precisione".
fonte
2012-03-06 10:12:37
* Cosa * errore vuoi arrivare? –
C'è una differenza tra byte e byte. Quest'ultimo è un oggetto che supporta il metodo '.intValue()'. Il primo è il valore del byte grezzo e basta assegnarlo come 'int i = rno [0];' – wuppi
Vedere anche http://stackoverflow.com/questions/2383265/convert-4-bytes-to-int – DNA