1. 程式人生 > >如何將比Long型別更大數值字串轉化為整數

如何將比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);
	}
}
執行結果