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

Why I can't convert a String to 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,具体取决于您的需要。