Это не обрабатывает null
так же, как ваш код.
object Hex {
def valueOf(buf: Array[Byte]): String = buf.map("%02X" format _).mkString
def valueOf(o: Byteable): String = valueOf(o.toByteArray)
}
Если вы хотите иметь возможность обрабатывать, возможно, null
массивов, вам лучше сделать это с помощью вызова кода и выполнения:
val bytes: Array[Byte] = // something, possibly null
val string: Option[String] = Option(bytes).map(Hex.valueOf)