關于Long和Integer相互轉換方式
一、int和long互相轉換
(一)long轉化為int
(1)類型強制轉換
long numberLong = 123L;// "L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。 int numberInt = (int) numberLong;
注意:
int有4個字節(jié),取值范圍為[-231,231 - 1]
long有8個字節(jié),[-263 ,263 -1]
如果long的值超過了int區(qū)值范圍,會出現(xiàn)值溢出的問題:
就會得以下內容:
這是因為:當取值范圍超過int的最大值時,會變?yōu)閕nt取值范圍的最小值,不會繼續(xù)增長了。
(2)利用BigDecimal強制轉換
long numberLong = 100L; BigDecimal numBigDecimal = new BigDecimal(numberLong); // 或 numBigDecimal = BigDecimal.valueOf(numberLong); int numberInt = numBigDecimal.intValue();
(二)int轉化為long
(1)類型強制轉換
long numberLong = 123L;// "L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。 int numberInt = (int) numberLong;
(2)利用BigDecimal強制轉換
int numberInt = 100; BigDecimal bigNumber = new BigDecimal(numberInt); // 或者 BigDecimal bigNumber = BigDecimal.valueOf(numberInt); long numberLong = bigNumber.longValue();
二、Long和Integer的互相轉換
(一)Long轉化為Integer
(1)類型強制轉化(不可用)
會出現(xiàn)報錯
報編譯錯: 無法轉換的類型,Long不能被強制轉化為Integer。
(2)使用Long的api
Long numberLong = new Long(1000L); Integer intNumber = numberLong.intValue();
(3)利用String轉換
Long longValue = new Long(1000l); String strValue = longValue.toString(); // 或者 Integer intValue = new Integer(strValue); Integer intValue = Integer.valueOf(strValue);
(二)Integer轉化為Long
(1)類型強制轉化(不可用)
(2)使用Integer的api
Integer intValue = new Integer(1000); Long longValue = intValue.longValue();
(3)使用Long的構造方法
Integer intValue = new Integer(1000); Long longValue = new Long(intValue);
(4)利用String
Integer intValue = new Integer(1000); String strValue = intValue.toString(); Long longValue = new Long(strValue);
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot @ExceptionHandler與@ControllerAdvice異常處理詳解
在Spring Boot應用的開發(fā)中,不管是對底層數據庫操作,對業(yè)務層操作,還是對控制層操作,都會不可避免的遇到各種可預知的,不可預知的異常需要處理,如果每個處理過程都單獨處理異常,那么系統(tǒng)的代碼耦合度會很高,工作量大且不好統(tǒng)一,以后維護的工作量也很大2022-10-10SpringBoot工程打包后執(zhí)行Java?-Jar就能啟動的步驟原理
這篇文章主要介紹了SpringBoot工程打包后為何執(zhí)行Java?-Jar就能啟動,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05