El tipo de byte es extraño

Necesito enviar algunos bytes a través del protocolo UDP. El comando de inicio es 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF

Cuando defino esto:

byte [] begin = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; 

Consigo un error que dice que necesito emitir éstos al tipo del byte. Por lo que sé 0xFF no excede el tipo de byte, así que ¿cuál es el problema?

Si escribo esto funciona:

 byte [] begin = {(byte) 0xFF,(byte) 0xFF,(byte) 0xFF,(byte) 0xFF,(byte) 0xFF,(byte) 0xFF}; 

2 Solutions collect form web for “El tipo de byte es extraño”

Por lo que sé 0xFF no excede el tipo de byte, así que ¿cuál es el problema?

En realidad lo hace. Los bytes se firman en Java, por lo que el rango es de -0x80 a 0x7f (inclusive).

(El hecho de que el tipo de byte está firmado es un dolor en el cuello, pero ahí vamos …)

Cualquier número literal en java se compila como un int. Incluso si se declara en una situación como aquí, donde un byte es el valor esperado. El elenco es la cosa que realmente transforma ese int literal en un byte.

  • RuntimeException: No se pudo enviar evento @ otto
  • Cliente Socket.io android java que recibe mensajes y envía ejemplo de archivo
  • Firebase "mientras se deserializaba, pero obtuvo una clase java.util.ArrayList"
  • Encabezados ListView sin separadores de elementos de lista
  • Android UnknownHostException: ¿hay una manera de establecer el tiempo de espera?
  • Problemas con el modo inmersivo en Android
  • ¿Hilo principal haciendo demasiado trabajo debido a llamadas asincrónicas de Firebase?
  • Api de Android de Youtube muestra un error
  • Auto insensible en el android
  • AndroidPDFViewer - No se puede abrir el documento pdf en mi aplicación
  • No se puede resolver el método checkSelfPermission
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.