gpt4 book ai didi

java - 如何将 Java Long 转换为 Cassandra 的 byte[]?

转载 作者:搜寻专家 更新时间:2023-11-01 01:19:40 25 4
gpt4 key购买 nike

懒惰的程序员警告。 :)

Cassandra 将列值存储为字节 (Java example)。指定 LongType comparator将这些字节作为 long 进行比较。我想将 long 的值转换为 Cassandra 友好的 byte[]。如何?我四处闲逛了一会儿。我认为你们可以更快地帮助我。

编辑:

Alexander 和 Eli 的回答都同意 this reverse transformation .谢谢!

最佳答案

我会将 long 写入 ByteArrayOutputStream包裹在 DataOutputStream 中然后检索原始字节,尽管这将始终以大端字节顺序为您提供数据(最重要的字节在前):

public static byte[] getBytes(Long val)
throws IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeLong(val);
return baos.toByteArray();
}

如果你想能够指定字节顺序,你可以使用 ByteBuffer类:

public static byte[] getBytes(Long val)
{
ByteBuffer buf = ByteBuffer.allocate(8);
buf.order(ByteOrder.BIG_ENDIAN);
buf.putLong(val);
return buf.array();
}

关于java - 如何将 Java Long 转换为 Cassandra 的 byte[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com