このクラスのオブジェクトとしてクラスのbyte[]
オブジェクトを配置する必要があるメンバーのクラスがあります。以下は私が書いたものですが、期待どおりに機能していません。TreeMap
key
put
get
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
ますが、null ポインター例外が発生しています。私はJavaが初めてです。