Java實(shí)現(xiàn)int、long、Integer、Long之間的相互轉(zhuǎn)換
一、int<->long
1. long -> int
(1)類(lèi)型強(qiáng)制轉(zhuǎn)換
long numberLong = 123L;// "L"理論上不分大小寫(xiě),但是若寫(xiě)成"l"容易與數(shù)字"1"混淆,不容易分辯。所以最好大寫(xiě)。 int numberInt = (int) numberLong;
注意:int有4個(gè)字節(jié),取值范圍為[-231,231 - 1]
long有8個(gè)字節(jié),[-263 ,263 -1]
如果long的值超過(guò)了int區(qū)值范圍,會(huì)出現(xiàn)值溢出的問(wèn)題
(2)利用BigDecimal轉(zhuǎn)換
long numberLong = 100L; BigDecimal numBigDecimal = new BigDecimal(numberLong); // 或 numBigDecimal = BigDecimal.valueOf(numberLong); int numberInt = numBigDecimal.intValue();
2. int -> long
(1)類(lèi)型強(qiáng)制轉(zhuǎn)換
int numberInt = 123; long numberLong = numberLong; // 因?yàn)閘ong類(lèi)型精度大于int類(lèi)型精度,轉(zhuǎn)換過(guò)程不會(huì)發(fā)生精度丟失情況,所以隱式強(qiáng)制轉(zhuǎn)換即可
(2)利用BigDecimal轉(zhuǎn)換
int numberInt = 100; BigDecimal numBigDecimal = new BigDecimal(numberInt); // 或 numBigDecimal = BigDecimal.valueOf(numberInt); long numberlong = numBigDecimal.longValue();
二、Long <-> Integer
1. Long轉(zhuǎn)化為Integer
(1)使用Long的api
Long numberLong = new Long(1000L); Integer intNumber = numberLong.intValue();
(2)利用String轉(zhuǎn)換
Long longValue = new Long(1000l); String strValue = longValue.toString(); // 或者 Integer intValue = new Integer(strValue); Integer intValue = Integer.valueOf(strValue);
2. Integer轉(zhuǎn)化為L(zhǎng)ong
(1)使用Integer的api
Integer intValue = new Integer(1000); Long longValue = intValue.longValue();
(2)使用Long的構(gòu)造方法
Integer intValue = new Integer(1000); Long longValue = new Long(intValue);
(3)利用String
Integer intValue = new Integer(1000); String strValue = intValue.toString(); Long longValue = new Long(strValue);
到此這篇關(guān)于Java實(shí)現(xiàn)int、long、Integer、Long之間的相互轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Java int、long、Integer、Long轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java統(tǒng)計(jì)字符串中特定字符出現(xiàn)次數(shù)的幾種常用方法
在編程的過(guò)程中,我們常常會(huì)遇到需要分析字符串的情況,比如統(tǒng)計(jì)某個(gè)特定字符出現(xiàn)的次數(shù),這種操作在處理文本數(shù)據(jù)時(shí)非常實(shí)用,今天,我們就來(lái)聊一聊如何在Java中統(tǒng)計(jì)字符串中特定字符的出現(xiàn)次數(shù),需要的朋友可以參考下2025-04-04
Java8中List轉(zhuǎn)Map(Collectors.toMap) 的技巧分享
在最近的工作開(kāi)發(fā)之中,慢慢習(xí)慣了很多Java8中的Stream的用法,很方便而且也可以并行的去執(zhí)行這個(gè)流,這篇文章主要給大家介紹了關(guān)于Java8中List轉(zhuǎn)Map(Collectors.toMap) 的相關(guān)資料,需要的朋友可以參考下2021-07-07
Spring?Boot?3.4.3?基于?Spring?WebFlux?實(shí)現(xiàn)?SSE?功能(代碼示例)
Spring Boot 3.4.3 結(jié)合Spring WebFlux實(shí)現(xiàn)SSE 功能,為實(shí)時(shí)數(shù)據(jù)推送提供了優(yōu)雅的解決方案,通過(guò)本文的步驟,你可以快速搭建一個(gè)基于事件驅(qū)動(dòng)的后端服務(wù),滿(mǎn)足實(shí)時(shí)通知或監(jiān)控等需求,感興趣的朋友一起看看吧2025-04-04
springboot 如何取消starter的自動(dòng)注入
這篇文章主要介紹了springboot 如何取消starter的自動(dòng)注入操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
maven項(xiàng)目在實(shí)踐中的構(gòu)建管理之路的方法
這篇文章主要介紹了maven項(xiàng)目在實(shí)踐中的構(gòu)建管理之路的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05
Java 在Word中創(chuàng)建郵件合并模板并合并文本和圖片的操作方法
通過(guò)Java程序展示如何來(lái)實(shí)現(xiàn)創(chuàng)建模板,并通過(guò)郵件合并功能來(lái)合并文本數(shù)據(jù)和圖片數(shù)據(jù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07
Mybatis Log控制臺(tái)如何輸出打印SQL語(yǔ)句
這篇文章主要介紹了Mybatis Log控制臺(tái)如何輸出打印SQL語(yǔ)句,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Java多線(xiàn)程實(shí)現(xiàn)阻塞隊(duì)列的示例代碼
本文主要介紹了Java多線(xiàn)程實(shí)現(xiàn)阻塞隊(duì)列的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
SpringBoot后端解決跨域問(wèn)題的3種方案分享
這篇文章主要給大家分享介紹了關(guān)于SpringBoot后端解決跨域問(wèn)題的3種方案,跨域指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制,需要的朋友可以參考下2023-07-07

