Twoja tablica zawiera prymitywy byte
, ale próbujesz wywołać na nich metodę.
Nie trzeba nic robić wyraźne konwertować byte
do int
, po prostu:
int i=rno[0];
... ponieważ to nie jest przygnębiony.
Tylko dla kompletności # 1: Jeśli nie chcą korzystać z różnych metod Byte
z jakiegoś powodu (nie trzeba tutaj), można użyć boxing conversion:
Byte b = rno[0]; // Boxing conversion converts `byte` to `Byte`
int i = b.intValue();
Albo Byte
constructor:
Byte b = new Byte(rno[0]);
int i = b.intValue();
Ale znowu, nie potrzebuję tego tutaj.
Tylko dla kompletności # 2: Jeśli były przygnębiony (na przykład, jeśli starali się przekształcić int
do byte
), wszystko czego potrzebujesz to obsada:
int i;
byte b;
i = 5;
b = (byte)i;
Zapewnia to kompilatorowi, że wiesz, że jest downcastem, więc nie otrzymasz błędu "Możliwa utrata precyzji".
* Co * błędzie jest wyświetlany? –
Istnieje różnica między bajtem i bajtem. Ten ostatni jest obiektem, który wspierałby metodę '.intValue()'. Pierwszy to wartość surowego bajtu i po prostu przypisz ją jako 'int i = rno [0];' – wuppi
Zobacz także http://stackoverflow.com/questions/2383265/convert-4-bytes-to-int – DNA