将set< byte[]>转换为list< string>

uxhixvfz  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(433)

我在应用程序中使用redis内存数据库。我们使用sadd方法向集合中添加一些字符串值,并使用smembers方法从集合中获取值。此方法返回一个集合<byte[]>。我需要把这个集合转换成一个字符串列表。我试过下面的方法,但不起作用。

List<String> list = Arrays.asList((servKeys)).toArray();
xxslljrj

xxslljrj1#

你可以用 Base64 带流api的编码器:

List<String> list = servKeys.stream()
    .map(bytes -> Base64.getEncoder().encodeToString(bytes))
    .collect(Collectors.toList());

或者 Base64 ,您可以使用 new String(bytes, StandardCharsets.UTF_8) .
这取决于什么样的数据 byte[] 是。上面的代码假定为纯文本,但是,您可以轻松地调整行为。

相关问题