Effective way to get hex string from a byte array using lambdas and streams

拥有回忆 提交于 2019-12-07 06:05:26
static String bytesToHex(final byte[] bytes) {
    return IntStream.range(0, bytes.length)
        .mapToObj(i->String.format("%02x", bytes[i]&0xff))
        .collect(joining());
}

though the following might be more efficient:

static String bytesToHex(final byte[] bytes) {
    return IntStream.range(0, bytes.length)
        .collect(StringBuilder::new,
                 (sb,i)->new Formatter(sb).format("%02x", bytes[i]&0xff),
                 StringBuilder::append).toString();
}

Both support parallel processing.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!