cn.hutool.core.lang.hash.Number128 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hutool-all Show documentation
Show all versions of hutool-all Show documentation
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
package cn.hutool.core.lang.hash;
import java.util.Objects;
/**
* 128位数字表示,分高位和低位
*
* @author hexiufeng
* @since 5.2.5
*/
public class Number128 extends Number {
private static final long serialVersionUID = 1L;
private long lowValue;
private long highValue;
/**
* 构造
*
* @param lowValue 低位
* @param highValue 高位
*/
public Number128(long lowValue, long highValue) {
this.lowValue = lowValue;
this.highValue = highValue;
}
/**
* 获取低位值
*
* @return 地位值
*/
public long getLowValue() {
return lowValue;
}
/**
* 设置低位值
*
* @param lowValue 低位值
*/
public void setLowValue(long lowValue) {
this.lowValue = lowValue;
}
/**
* 获取高位值
*
* @return 高位值
*/
public long getHighValue() {
return highValue;
}
/**
* 设置高位值
*
* @param hiValue 高位值
*/
public void setHighValue(long hiValue) {
this.highValue = hiValue;
}
/**
* 获取高低位数组,long[0]:低位,long[1]:高位
*
* @return 高低位数组,long[0]:低位,long[1]:高位
*/
public long[] getLongArray() {
return new long[]{lowValue, highValue};
}
@Override
public int intValue() {
return (int) longValue();
}
@Override
public long longValue() {
return this.lowValue;
}
@Override
public float floatValue() {
return longValue();
}
@Override
public double doubleValue() {
return longValue();
}
@Override
public boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) {
return false;
}
final Number128 number128 = (Number128) o;
return lowValue == number128.lowValue && highValue == number128.highValue;
}
@Override
public int hashCode() {
return Objects.hash(lowValue, highValue);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy