从 UUID 转换为 jdk.incubator.vector.Vector(不确定哪种基本类型,可能是 Float?)的最佳方法是什么?反之亦然?
答案 0 :(得分:0)
我不确定“最佳”方式,因为这取决于您之后需要对向量执行的操作以及您的机器架构,但 UUID 可以转换为两个元素的 64 位整数向量使用 UUID.getLeastSignificantBits() 和 UUID.getMostSignificantBits() 取其两半:
UUID uuid = UUID.randomUUID();
LongVector vector = LongVector.fromArray(LongVector.SPECIES_128, new long[] {uuid.getLeastSignificantBits(), uuid.getMostSignificantBits()}, 0);
反之,使用LongVector.lane():
UUID x = new UUID(vector.lane(1), vector.lane(0));
(假设元素顺序与第一个示例相同)