gpt4 book ai didi

Java 一组字节数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:10 25 4
gpt4 key购买 nike

我有一个 byte[] 的 HashSet,我想测试该集合中是否有新的 byte[]。问题是 Java 似乎在测试 byte[] 实例是否相同,而不是测试字节数组中的实际值是否相同。

换句话说,考虑以下代码:

public class Test
{
public static void main(String[] args)
{
java.util.HashSet<byte[]> set=new java.util.HashSet<byte[]>();
set.add(new String("abc").getBytes());
System.out.println(set.contains(new String("abc").getBytes()));
}
}

此代码打印出 false,我希望它打印出 true。我应该怎么做?

最佳答案

您可以使用 ByteBuffer.wrap 包装每个字节数组,这将为您提供正确的 equals 和 hashCode 行为。请注意您在 ByteBuffer 上调用的方法(不要修改数组或推进其指针)。

关于Java 一组字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137395/

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