parseInt()与valueOf()的区别


static int parseInt(String s) 
          将字符串参数作为有符号的十进制整数进行分析。 

static Integer valueOf(int i) 
          返回一个表示指定的 int 值的 Integer 实例。 
static Integer valueOf(String s) 
          返回保持指定的 String 的值的 Integer 对象。 

从返回值可以看出他们的区别   parseInt()返回的是基本类型int 
而valueOf()返回的是包装类Integer  Integer是可以使用对象方法的  而int类型就不能和Object类型进行互相转换

Integer.parseInt(chuan)返回值是int型的. 
Integer.valueOf(chuan)返回值是Integer型的.把Integer赋值给int型的话,JRE会自己完成这些工作. 

区别还是有的.如果你写一个方法的形参是int型的,比如: 
void test(int a){ 
//todo: 
}; 
当你调用这个方法的时候test(Integer.parseInt(chuan))会编译通过,但test(Integer.valueOf(chuan))会编译错误.

### 回答1: "Integer.parseInt"和"Integer.valueOf"都是Java语言中用于将字符串转换为整数的方法,但它们之间有一些细微的区别。 首先,两个方法的返回值不同。使用"Integer.parseInt"方法将字符串转换为int类型的基本数据类型,而"Integer.valueOf"方法将字符串转换为Integer类型的包装类对象。 其次,对于输入的字符串格式也有不同的要求。"Integer.parseInt"方法只能接受数字格式的字符串作为输入,如果输入的字符串不是合法的数字格式,将会抛出NumberFormatException异常。而"Integer.valueOf"方法可以接受一些特殊格式的字符串,比如"10"、"0x10"或者"-10"等。如果输入的字符串不能转换为整数,"Integer.valueOf"方法会返回一个NumberFormatException异常。 此外,两个方法对于处理null值的方式也有所不同。如果将null作为参数传递给"Integer.parseInt"方法,将会抛出NullPointerException异常。而"Integer.valueOf"方法将会返回一个值为null的Integer对象。 最后,两个方法在性能上也略有不同。"Integer.parseInt"方法的性能相对较好,因为它直接返回一个int类型的值。而"Integer.valueOf"方法的性能较差,因为它返回一个Integer对象,需要进行装箱操作。 综上所述,"Integer.parseInt"和"Integer.valueOf"虽然都可以实现将字符串转换为整数的功能,但在使用时需要根据具体的需求来选择使用哪个方法。 ### 回答2: parseInt()valueOf()都是用于将字符串转换为整数的方法,但在使用上有一些细微的区别。 1. 返回类型不同: - parseInt()方法返回一个基本数据类型整数(int),不会返回Integer对象。 - valueOf()方法返回一个Integer对象。 2. 异常处理不同: - parseInt()方法在解析字符串时,如果无法识别为整数,则会抛出NumberFormatException异常。 - valueOf()方法在解析字符串时,如果无法识别为整数,则直接返回null,不会抛出异常。 3. 使用场景不同: - parseInt()方法常用于将字符串转换为整数后进行数值运算,因为返回的是基本数据类型,可以直接参运算。 - valueOf()方法常用于需要以对象形式存储整数的场景,可以方便地进行对象之间的比较、执行方法等操作。 例如: ``` String str = "123"; int num = Integer.parseInt(str); System.out.println(num); // 输出:123 String str2 = "456"; Integer num2 = Integer.valueOf(str2); System.out.println(num2); // 输出:456 ``` 需要注意的是,当字符串无法解析为整数时,两个方法的处理方式不同: ``` String str3 = "abc"; int num3 = Integer.parseInt(str3); System.out.println(num3); // 抛出NumberFormatException异常 String str4 = "def"; Integer num4 = Integer.valueOf(str4); System.out.println(num4); // 输出:null ``` 综上所述,parseInt()valueOf()方法在字符串转换为整数时有些许差异,根据具体场景需求选择使用。 ### 回答3: parseIntvalueOf都是用于将字符串转换为整数的方法。 parseInt是一个静态方法,它将接收一个字符串参数,并尝试将其解析为整数。它从字符串的开头开始解析,直到遇到非数字字符为止。如果字符串的开头是空格,空字符串或非数字字符,则parseInt将返回NaN(Not a Number)。 parseInt还可以接收一个可选的参数,称为基数,用于指定解析的进制,例如十六进制或八进制。 valueOf是一个实例方法,它可以在整数对象上调用。它将返回该整数对象的原始值,这个值是一个原始的数值类型,而不是一个对象。因此,valueOf方法将整数对象转换为对应的整数值。 总结起来,parseInt把字符串解析为整数并返回,而valueOf将整数对象转换为整数值并返回。两者的主要区别在于使用方式和返回值类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值