Agregaré otra respuesta que sea la más rápida posible ׂ (sí, incluso más que la respuesta aceptada), PERO no funcionará en todos los casos. SIN EMBARGO, funcionará para cada escenario concebible:
Simplemente puede usar String como intermedio. Tenga en cuenta que esto le dará el resultado correcto a pesar de que parece que el uso de String podría producir resultados incorrectos MIENTRAS SABE QUE ESTÁ TRABAJANDO CON STRINGS "NORMALES". Este es un método para aumentar la efectividad y simplificar el código, que a cambio debe usar algunas suposiciones en las cadenas de datos en las que opera.
Contras de usar este método: si está trabajando con algunos caracteres ASCII como estos símbolos al comienzo de la tabla ASCII, las siguientes líneas pueden fallar, pero seamos sinceros, probablemente nunca las usará de todos modos.
Pro de usar este método: recuerde que la mayoría de las personas generalmente trabajan con algunas cadenas normales sin caracteres inusuales y luego el método es la forma más simple y rápida de hacerlo.
de Long a byte []:
byte[] arr = String.valueOf(longVar).getBytes();
del byte [] a Long:
long longVar = Long.valueOf(new String(byteArr)).longValue();