Integer.parseInt()和这个Integer.valueOf()有什么区别么?

publicclassShiyan{publicstaticvoidmain(String[]args){Stringchuan="82";intzhuan=Intege... public class Shiyan {

public static void main(String[] args) {

String chuan="82";
int zhuan=Integer.parseInt(chuan);
int zhuanyi=Integer.valueOf(chuan);
System.out.println(zhuan);
System.out.println(zhuanyi);
}

}
不知道两者有何区别??好疑惑啊!
展开
 我来答
百度网友3b46a7f
2008-10-09 · TA获得超过2520个赞
知道小有建树答主
回答量:735
采纳率:0%
帮助的人:0
展开全部
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类型进行互相转换

int zhuan=Integer.parseInt(chuan);
int zhuanyi=Integer.valueOf(chuan); 为什么你的程序返回值都可以用int来接收呢? 因为Integer和int可以自动转换
Integer i = 5; int k = i;像是这样表示是没有编译错误的
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
新翼追风
2008-10-10 · TA获得超过1134个赞
知道小有建树答主
回答量:544
采纳率:0%
帮助的人:493万
展开全部
大家都说了是返回的类型不同.

但不赞同闫国上的的"较高的版本中:integer.valueof()也可以返回整形数值。 " 实际上integer.valueof()并不能返回int型.

在JDK1.5之后,也称JDK5.0之后,基本数据类型和其相应的封装类在运算与赋值时可以自动转换,但是在做为参数时不是会自动转换的.

你的代码中:

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))会翻译错误.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闫国上
2008-10-09 · TA获得超过164个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:228万
展开全部
在比较低的版本中:
integer.valueof()返回得是对象;
integer.parseint()返回的是一个整形数值。
在较高的版本中:
integer.valueof()也可以返回整形数值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随风散忆
2008-10-09 · TA获得超过296个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:338万
展开全部
Integer.valueof()返回的是Integer的对象。
Integer.parseInt() 返回的是一个int的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0b175ed
2008-10-10 · TA获得超过468个赞
知道小有建树答主
回答量:453
采纳率:0%
帮助的人:322万
展开全部
Integer java.lang.Integer.valueOf(String s)
Returns an Integer object holding the value of the specified String. The argument is interpreted as representing a signed decimal integer, exactly as if the argument were given to the parseInt(java.lang.String) method. The result is an Integer object that represents the integer value specified by the string.

In other words, this method returns an Integer object equal to the value of:

new Integer(Integer.parseInt(s))
Parameters:
s the string to be parsed.
Returns:
an Integer object holding the value represented by the string argument.
Throws:
NumberFormatException if the string cannot be parsed as an integer.

=-================================
int java.lang.Integer.parseInt(String s)
Parses the string argument as a signed decimal integer. The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign '-' ('\u002D') to indicate a negative value. The resulting integer value is returned, exactly as if the argument and the radix 10 were given as arguments to the parseInt(java.lang.String, int) method.

Parameters:
s a String containing the int representation to be parsed
Returns:
the integer value represented by the argument in decimal.
Throws:
NumberFormatException if the string does not contain a parsable integer.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式