电话号码上有ParseInt NumberFormatException

Wir*_*s77 0 java string parsing integer

我在尝试解析电话号码时遇到以下错误,"5554567899"

java.lang.NumberFormatException: For input string: "5554567899"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:495)
at java.lang.Integer.parseInt(Integer.java:527)
...
Run Code Online (Sandbox Code Playgroud)

显然,电话号码可以被解析.我甚至引用了这个问题,字节码结果是

53,53,53,52,53,54,55,56,57,57,
Run Code Online (Sandbox Code Playgroud)

所以字符串中没有不可见的字符.我很难过,有人可以帮忙吗?

这是抛出错误的代码部分,供参考:

String fullNumber = null;
        for(Phone phone : party.getPhones()) {
            if(phone != null && !phone.getDialNumber().isEmpty()) {
                if(!phone.getAreaCode().isEmpty()) {
                    fullNumber = phone.getAreaCode();
                }
                fullNumber += phone.getDialNumber();
                if(phone1 == null || phone1.equals(0)) {
                    LOGGER.debug(displayCharValues(fullNumber));
                    phone1 = Integer.parseInt(fullNumber);
                }
         }
Run Code Online (Sandbox Code Playgroud)

phone1Java.lang.Integer类型的.

And*_*s_D 6

该值超出int范围.将其解析为长变量.

简单测试:

int i = 5554567899;
Run Code Online (Sandbox Code Playgroud)

是编译时错误:"int类型的文字5554567899超出范围"