gpt4 book ai didi

java - 树形图和字节[]

转载 作者:行者123 更新时间:2023-11-30 04:27:34 25 4
gpt4 key购买 nike

我有一个成员为byte[]的类,我需要将该类的对象放入TreeMap中,并将key作为该类的对象。以下是我写的,但是 putget 没有按预期工作。

import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Arrays;

public class XTObject Comparable<XTObject>{
public byte[] data;
public XTObject(){

}
public XTObject(final byte[] in) {
this.data = in;
}


@Override
public boolean equals(final Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
XTObject other = (XTObject) obj;
if (!Arrays.equals(data, other.data))
return false;
return true;
}
@Override
public int hashCode() {
return Arrays.hashCode(data);
}
@Override
public int compareTo(XTObject o) {
ByteBuffer left = ByteBuffer.wrap(this.data);
ByteBuffer right = ByteBuffer.wrap(o.data);
return left.compareTo(right);

}

}

Put 我猜工作正常,但 get 给出了空指针异常。我是java新手。

最佳答案

您应该确保 data 成员始终在构造期间初始化,或者处理潜在的 null 值。
如果数据成员未初始化,您将在 equalshashCodecompareTo 方法中暴露于 NullPointerExecption .
TreeMapSortedMap并将使用compareTo方法对 map 元素进行排序。

关于java - 树形图和字节[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15493825/

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