簡體   English   中英

是否可以將整數解析為long?

[英]Can an integer always be parsed as a long?

我有一個Java中的字符串列表,正在寫入文本文件。 這些字符串都標有一個類型 - 在這種情況下,我感興趣的是包含long s和int的字符串。 我想在寫這些字符串之前將它們轉換回數字類型,但我想盡量減少代碼重復。 我計划使用Long.parseLong()解析標記為整數或長整數的每個字符串。

我的問題是:有沒有任何情況下有效整數不會解析為長? 我想不出任何東西(除了可能是“1000L”或其他一些),但我在這些事情上的經驗告訴我,我經常會有細微差別。

是的,整數總是可以轉換成長整數,但是長整數總是被轉換為整數。

int實際上是一個4字節的整數,long是8字節。 所以long給你一個int多4個字節。

Long.parseLong("1000L")導致NumberFormatException - 它接受字符串編碼的數值,不一定是Java數字文字(盡管有很大的重疊)。

因為Long.parseLong完全包含Integer.parseInt ,因為int的值是long值的正確子集。

快樂的編碼。

這應該沒問題,因為整數是多頭的子集。

檢查兩種 方法的描述

答案是否定的(除非字符串后面出現l或L)

每個可能的int值都可以存儲在longdouble (或BigInteger)中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM