是否可以将整数解析为long?

时间:2011-06-15 19:42:38

标签: java types

我有一个Java中的字符串列表,这些字符串被写入文本文件。这些字符串都标有一个类型 - 在这种情况下,我感兴趣的是包含longint s的字符串。我想在写这些字符串之前将它们转换回数字类型,但我想尽量减少代码重复。我计划使用Long.parseLong()解析标记为整数或长整数的每个字符串。

我的问题是:有没有一个有效整数不会解析为长的情况?我想不出任何东西(除了可能是“1000L”或其他一些),但我在这些事情上的经验告诉我,我经常会有细微差别。

5 个答案:

答案 0 :(得分:6)

是的,整数总是可以转换成长整数,但长期不能总是强制转换为整数。

int实际上是一个4字节的整数,long是8字节。所以long给你一个int的4个字节。

答案 1 :(得分:3)

Long.parseLong("1000L")导致NumberFormatException - 它接受字符串编码的数值,不一定是Java数字文字(尽管有很大的重叠)。

由于此Long.parseLong包含Integer.parseInt,因为int的值是long值的正确子集。

快乐的编码。

答案 2 :(得分:1)

这应该没问题,因为整数是多头的子集。

答案 3 :(得分:0)

检查both methods

的说明

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

答案 4 :(得分:0)

每个可能的int值都可以存储在longdouble(或BigInteger)