java - 为什么我不能将 String 转换为 int?

标签 java string int

我对 Java 很陌生。我有问题。 我的字符串 currentTime 的当前时间值如下:“2204201810”。 我想将此字符串转换为整数。 错误是:

Caused by: java.lang.NumberFormatException: For input string: "2204201804"

但是不知道为什么Java不能转换!我的意思是字符串只包含数字而不是更多。

这是我的代码:

GregorianCalendar now = new GregorianCalendar();
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);

df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
String currentTime = df.format(now.getTime());

currentTime = currentTime.replace(".", "");
currentTime = currentTime.replace(" ", "");
currentTime = currentTime.replace(":", "");
try {
    int currentTimeInt = Integer.valueOf(currentTime);
} catch (NumberFormatException ex) {
    //Error
}

最佳答案

您尝试转换为 int 的值 (2204201804) 超出了最大整数容量,在 Java 中为 2147483647。尝试使用 long 代替。或者甚至可能是 BigInteger,具体取决于您的需求。

关于java - 为什么我不能将 String 转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61370006/

相关文章:

c++ - 什么是不透明字节串?

optimization - 当字符串超过 7 个字节时,字符串的 Redis int 表示更大,否则更小

java - 尝试将列表转换为数组时出错 []

java - 从 javadocs 制作一个 bitbucket 源 wiki

java - 有没有办法让 Guice 在 Guice.createInjector 期间快速失败

python - 将 os.popen(command) 读入字符串

java - 将 ArrayList<Integer> 转换为 int[] 在 Java 中不起作用

java - 如何读取xml文件的内容到Jms队列

java - 使用 ActionListener 查找事件时出现问题

javascript - 查找包含字母和标点符号的特定字符串后面的数字