`
akunamotata
  • 浏览: 378817 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

parseInt(String str) 和 valueOf(String str) 的区别

    博客分类:
  • java
阅读更多

前不久写了个身份证校验的java代码,后来测试的时候发现含有字母的身份证字符串会报出异常,原因在于使用了Integer.parseInt(String str)方法,后来使用了Integer.valueOf(String str)方法,就显示正常了。

 

比如:"3101151985061P2210"

 

报如下异常:

   Exception in thread "main" java.lang.NumberFormatException: For input string: "p"
 at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
 at java.lang.Integer.parseInt(Integer.java:447)
 at java.lang.Integer.parseInt(Integer.java:497)
 at test.Test.main(Test.java:11)

 

 

原因:

   Integer.parseInt(String str)返回一个基本类型(将字符串参数作为有符号的十进制整数进行分析)

   Integer.valueOf (String str)返回一个对象(返回指定的 String 的值的 Integer 对象)

 

真惭愧自己曾经考出SCJP,长时间不写,很多东西都忘了,特此做下笔记来警记!

分享到:
评论
1 楼 husai 2009-11-02  
引用
....后来使用了Integer.valueOf(String str)方法,就显示正常了。

lz用的jdk是那个版本,居然能显示正常,这明显会报异常,我是在1.5上测试的...

相关推荐

    java中String类型转换方法.pdf

    * 使用 `Integer.valueOf()` 方法:`String str = "25"; int i = Integer.valueOf(str).intValue();` 字符串到浮点型 将字符串转换为浮点型可以使用以下方法: * 使用 `Double.parseDouble()` 方法:`String str ...

    java数据类型转换

    String str = String.valueOf(i); // 使用valueOf ``` - `toString`:将int类型转换为字符串。 - `valueOf`:创建一个包含整数值的String对象。 ##### Double转String 将双精度浮点数转换为字符串: ```java ...

    android string转换为int

    `valueOf()` 方法与 `parseInt()` 类似,也是将字符串转换为整数,但当遇到无法转换的情况时,它会抛出相同的异常。两者的区别在于 `Integer.valueOf()` 可以用于缓存小范围(-128 到 127)内的整数值,提高性能。 ...

    java中int_char_string三种类型的相互转换

    String s = String.valueOf(i); 2. 使用 Integer.toString() 方法 String s = Integer.toString(i); 3. 使用字符串连接符 String s = "" + i; 四、将 int 转换成 Integer 将 int 转换成 Integer 可以使用以下...

    convert string to integer

    Java 提供了 `Integer.parseInt()` 或 `Integer.valueOf()` 方法。 ```java String str = "123"; int num = Integer.parseInt(str); System.out.println(num); // 输出:123 ``` 3. **JavaScript**: ...

    String与int相互转换

    b) 使用String.valueOf():此方法同样适用于所有基本类型,包括int,可以方便地将数值转换为字符串。 c) 运算符+:通过字符串与其他类型的运算符+结合,可以将int转换为字符串。例如: ```java int num = 123;...

    java\String类型转换成整数double

    除了`parseXxx`系列方法,Java还提供了另一种方式来实现字符串到数值的转换,即通过`Double.valueOf`和`Integer.valueOf`方法。 #### `Double.valueOf(String s)` `Double.valueOf`方法同样接收一个字符串参数,并...

    Java 之 String 类型

    - `String.valueOf(int i)`/`String.valueOf(double d)`:将整型/浮点型数值转换为字符串。 8. **字符串与对象的转换** - `toString()`:所有对象都有这个方法,用于将对象转换为字符串表示。 - `Object....

    String.zip

    - `Integer.parseInt(String s)` / `Integer.valueOf(String s)`:将字符串转换为整数。 - `Double.parseDouble(String s)` / `Double.valueOf(String s)`:将字符串转换为浮点数。 ### 8. 正则表达式 `Pattern`和...

    java.lang.NumberFormatException For inputstring 4294967295处理方法

    在Java中,`Integer.parseInt()` 和 `Integer.valueOf()` 方法默认将字符串转换为32位有符号整数。这意味着它们能够处理的范围是 `-2^31` 到 `2^31 - 1`,即 `-2147483648` 到 `2147483647`。因此,当试图将 `'...

    Java String转int还有其它几种写法.docx

    标题提到的"Java String转int还有其它几种写法",描述中提到了两种常见方法:`Integer.valueOf()`和`Integer.parseInt()`。以下是这些方法的详细解释: 1. **`Integer.valueOf()`方法**: `Integer.valueOf()`是...

    java 类型转换 大全

    String s = String.valueOf(i); ``` 这种方法简洁明了,易于理解和使用。 2. **使用 `Integer.toString()` 方法** ```java int i = 123; String s = Integer.toString(i); ``` 该方法同样可以实现转换功能...

    非常不错的java资料

    - **方法二**:`Integer.valueOf(String).intValue()` - **示例**: ```java String s = "12345"; int i = Integer.parseInt(s); // 或者 i = Integer.valueOf(s).intValue(); System.out.println(i); // 输出:...

    javascript中tostring()和valueof()的用法及两者的区别

    在JavaScript中,`toString()`和`valueOf()`是两种常见的对象方法,它们的作用在于将对象转换成其他类型,尤其是在处理数据的表示和运算时。几乎所有的JavaScript数据类型(除了`null`)都支持这两个方法。 首先,`...

    Java中常用的各种技能

    使用 `String.valueOf()` 方法可以实现这种转换,例如:`string str = String.valueOf(double);` 3. 字符串分割成数组 在 Java 中,可以使用 `split()` 方法将字符串分割成数组,例如:`string []str = new string...

    Java常用类与基础API-String的构造器与常用方法

    - 使用 `String` 构造器或者 `String.valueOf(char[])` 方法。 - 示例代码: ```java char[] chars = {'H', 'e', 'l', 'l', 'o'}; String s = new String(chars); ``` 5. **字符串 --> 字节数组(编码)**: ...

    java 常用方法

    String strI2 = String.valueOf(i); String strL2 = String.valueOf(l); String strF2 = String.valueOf(f); String strD2 = String.valueOf(d); ``` ##### 6. 字符串检索 - **从头开始检索**:`indexOf(String ...

    字符串,整型数据,字符型数组互相转换源码

    在Java中,可以使用`Integer.parseInt()`或`Integer.valueOf()`方法: ```java public class Main { public static void main(String[] args) { String str = "123"; int num = Integer.parseInt(str); System....

    汉字和数字混合排序

    return Integer.compare(Integer.parseInt(String.valueOf(c1)), Integer.parseInt(String.valueOf(c2))); } else if (Character.isDigit(c1) || Character.isDigit(c2)) { // 如果只有一个数字,数字在前 ...

    java类型转换参考大全

    int i = Integer.valueOf(str).intValue(); ``` - **使用`Integer.parseInt()`**:将字符串转换为整型。 ```java int i = Integer.parseInt(str); ``` ##### 4. 字符串到浮点型 - **使用`Double.valueOf()....

Global site tag (gtag.js) - Google Analytics