Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么?

Posted 腾逸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么?相关的知识,希望对你有一定的参考价值。

Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么?

Integer.valueof(String s)是将一个包装类是将一个实际值为数字的变量先转成string型再将它转成Integer型的包装类对象(相当于转成了int的对象)这样转完的对象就具有方法和属性了。
而Integer.parseInt(String s)只是将是数字的字符串转成数字,注意他返回的是int型变量不具备方法和属性。

 

 

 

 

 

 

设有下面两个赋值语句:
a=Integer.parseInt(“123”);
b=Integer.valueOf(“123”).intValue();
下述说法正确的是(d)。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。

 

解释:

parseInt(Strings)方法是类Integer的静态方法,它的作用就是将形参s转化为整数,比如:
Interger.parseInt("1")=1;
Integer.parseInt("20")=20;
Integer.parseInt("324")=324;
当然,s表示的整数必须合法,不然是会抛异常的。
valueOf(Strings)也是Integer类的静态方法,它的作用是将形参s转化为Integer对象,
什么是Integer对象,Integer就是基本数据类型int型包装类,就是将int包装成一个类,这样在很多场合下是必须的。如果理解不了,你就认为int是Integer的mini版,好用了很多,但也丢失了一些功能,好了,看代码:
Interger.valueOf("123")=Integer(123)
这时候Integer(123)就是整数123的对象表示形式,它再调用intValue()方法,就是将123的对象表示形式转化为基本数据123
所以,选择D

以上是关于Integer.valueof(String s)和Integer.parseInt(String s)的具体区别是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Java面试题之Integer.valueOf(String s);采用了什么设计模式

java中如何把string类型转换成int类型

int和string相互转换

String和int之间的转换

java 类型转化

Integer ? String.valueOf() ? ().toString() ? 简明对比