如何将比Long类型更大数值字符串转化为整数

前几天,需要做一个number类型的数据库主键唯一处理,而且有38位。于是再想使用什么规则控制唯一性。最后决定采用时间,年月日时分秒毫秒,再加随机数。


问题产生了,如何将一个38位的数字字符串转化为整数类型,存入数据库?默认的Long类型,最大值也只有19位。怎么办?


解决方案如下:

采用BigInteger类型

package 数字字符串;

import java.math.BigInteger;

public class Test {

	public static void main(String[] args) {
		//Long类型最大只有19位
		Long maxL = Long.MAX_VALUE;
		
		String max2 = "12345678901234567890123456789012345678";
		System.out.println(max2);
		System.out.println(maxL);
//		System.out.println(Long.parseLong(max2));//抛异常
		
		BigInteger maxInt = new BigInteger(max2);
		System.out.println(maxInt);
	}
}


运行结果
如何将比Long类型更大数值字符串转化为整数_第1张图片



你可能感兴趣的:(JavaSE)