parseint和valueof,Java中parse和valueOf,toString的区别
parseint和valueof,Java中parse和valueOf,toString的区别详细介绍
本文目录一览: parseInt、valueOf和intValue的区别
1.parseInt()和valueOf() Integer.parseInt()返回值是int型的,Integer.parseInt()将Integer类型解析成 int类型,返回Int类型,入参可以是String类型 Integer.valueOf()返回值是Integer型的,Integer.valueOf()返回Integer类型 ,入参可以是String,int 类型
String 类中的valueOf(): static String valueOf(boolean b) ????????返回 boolean 参数的字符串表示形式。 static String valueOf(Object obj) ????????返回 Object 参数的字符串表示形式。 表示的是将( )中的 值, 转换 成 字符串类型
2.intValue()
1)intValue()是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它。也就是说,不单是Integer有intValue方法,Double,Long等都有此方法。
2)此方法的意思是: 输出int数据。每个数值类中具体的实现是不同的。 例如:
Float类和Double类的intValue方法,就是丢掉了小数位,而Long的intValue方法又不一样的
Double s = 2.5; Float k = 2.7f;
System.out.println(k.intValue()); System.out.println(s.intValue());
输出结果: 2 2
java中 Integer.parseInt()和Integer.valueOf(“123”).intValue();方法的应用
a
=
Integer.parseInt(“123”);
parseInt(String
str)是基本类型int的包装类Integer里面的静态方法,通过类名Integer直接调用,参
数是字符串如“123”,返回int型123,即
int
num
=
Integer.parseInt("123");
b
=
Integer.valueOf(“123”).intValue();
Integer.valueOf(“123”)同上,只不过valueOf(“123")返回的是一个Integer对象,通过调用intValue()方法转换为int型整数
valueOf将字符串转换为Integer对象
intValue()将Integer对象转换为int数
即
int
num
=
Integer.valueOf(“123”).intValue();
parseInt(String
s
)方法是类Integer的静态方法,它的作用就是将形参
s
转化为整数,比如:
Interger.parseInt("1")=1;
Integer.parseInt("20")=20;
Integer.parseInt("324")=324;
当然,s
表示的整数必须合法,不然是会抛异常的。
valueOf(String
s
)也是Integer类的静态方法,它的作用是将形参
s
转化为Integer对象,
什么是Integer对象,Integer就是基本数据类型int型包装类,就是将int包装成一个类,这样在很多场合下是必须的。如果理解不了,你就认为int是Integer的mini版,好用了很多,但也丢失了一些功能,好了,看代码:
Interger.valueOf("123")=Integer(123)
这时候Integer(123)就是整数123的对象表示形式,它再调用intValue()方法,就是将123的对象表示形式转化为基本数据123
所以,选择D
1.Integer.parseInt(“123”);
Integer的静态方法parseInt("123");将字符串解析为
int类型,若参数不是数字类型的字符串,则抛出异常。
2.Integer.valueOf(“123”)
Integer的静态方法valueOf(“123”),将字符串解析为
Integer类型,,若参数不是数字类型的字符串,则抛出异常。
3.Integer
类的实例方法
intValue();
返回一个Integer
对象对应的
int
值
parseint(string
s)
将字符串参数作为有符号的十进制整数进行解析。
valueof(string
s)
返回保存指定的
string
的值的
integer
对象。
intvalue()
以
int
类型返回该
integer
的值。
建议查看api
java中?Integer.parseInt()和Integer.valueOf(“123”).in
parseInt(String
s
)方法是类Integer的静态方法,它的作用就是将形参
s
转化为整数,比如:
Interger.parseInt("1")=1;
Integer.parseInt("20")=20;
Integer.parseInt("324")=324;
当然,s
表示的整数必须合法,不然是会抛异常的。
valueOf(String
s
)也是Integer类的静态方法,它的作用是将形参
s
转化为Integer对象,
什么是Integer对象,Integer就是基本数据类型int型包装类,就是将int包装成一个类,这样在很多场合下是必须的。如果理解不了,你就认为int是Integer的mini版,好用了很多,但也丢失了一些功能,好了,看代码:
Interger.valueOf("123")=Integer(123)
这时候Integer(123)就是整数123的对象表示形式,它再调用intValue()方法,就是将123的对象表示形式转化为基本数据123
所以,选择D
类型转换的时候,valueOf和.parseX的区别
valueOf:返回的是个包装类
parseInt:返回的就是基本数据类型
二者的差异:
中间有个装箱拆箱的过程,如果准确的知道自己要的是什么返回值的话,
就可以明确清楚的选择用哪个方法来转换,而获得自己想要的值,且是最大效率的do it.
(当然,这一般情况下是没人去管这个的,因为这个是findbugs找到的,所以,才有这篇文章的出现。)
Java包装类型的装箱拆箱机制
JAVA基本类型,不用new来创建变量,而是创建一个并非是“引用”的“自动”变量。这个变量拥有它的“值”,并置于堆栈中,因此更加高效。
Java中的某些操作只能使用对象,而基本类型不是类类型,不能实例化成对象,比如Collection,就必须以对象实现。
所谓的装箱指的是基本类型转换为包装类型,拆箱指的是包装类型转换为基本类型。
以 int 为例,如下:
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
Java中parse和valueOf,toString的区别
java中, 包装类中的valueOf其实调用的就是 Parse以下是Integer的源代码:
toString是 object的一个方法, 通常用来表示对象的字符串表示形式.
1.parse()是SimpleDateFomat里面的方法,你说的应该是parseInt()或parsefloat()这种方法吧,
顾名思义 比如说parseInt()就是把String类型转化为int类型。
如 String a= "123";
int b = Integer.parseInt(a);
这样b就等于123了。
2.ValueOf()方法比如说 Integer.valueOf()
是把String类型转化为Integer类型(注意:是Integer类型,而不是int类型,int类型是表示数字的简单类型,Integer类型是一个引用的复杂类型)
如:
String a= "123";
Integer c =Integer.valueOf(a);
//Integer类型可以用intValue方法转化为int类型
int b =c.intValue();
这时候这个b就等于123了
3. toString()可以把一个引用类型转化为String字符串类型。
下面举个例子与2相反,把Integer转化为String类型:
Integer a = new Integer(123);
String b =a.toString();
这时候b就是 "123" 了
Integer.parseInt()和这个Integer.valueOf()有什么区别么?
大家都说了是返回的类型不同.
但不赞同闫国上的的"较高的版本中: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))会翻译错误.
在比较低的版本中:
integer.valueof()返回得是对象;
integer.parseint()返回的是一个整形数值。
在较高的版本中:
integer.valueof()也可以返回整形数值。
Integer.valueof()返回的是Integer的对象。
Integer.parseInt() 返回的是一个int的值。
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.
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;像是这样表示是没有编译错误的
java中Integer.parseInt和Integer.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类型进行互相转换 。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
(为了在各种类型间转化,通过各种方法的调用。否则,你无法直接通过变量转化)。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。
以下是demo(来自落叶补充)
//通过包装类来实现转化的
int num=Integer.valueOf("12");
int num2=Integer.parseInt("12");
double num3=Double.valueOf("12.2");
double num4=Double.parseDouble("12.2");
//其他的类似。通过基本数据类型的包装来的valueOf和parseXX来实现String转为XX
String a=String.valueOf("1234");//这里括号中几乎可以是任何类型
String b=String.valueOf(true);
String c=new Integer(12).toString();//通过包装类的toString()也可以
String d=new Double(2.3).toString();
他们返回类型的不同是最大的原因: 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))会翻译错误.
Integer.valueof() Integer.parseInt() 有什么区别?
new Integer.valueof()返回的是Integer的对象。
Integer.parseInt() 返回的是一个int的值。
new Integer.valueof().intValue();返回的也是一个int的值。
parseXXX()返回的是基本类型,例如parseInt()返回int型;
valueOf()返回的是对象类型,例如valueOf()返回Integer类型;
最容易被忽视的是:
被valueOf()转型的数值,如果超过【范围:128至127】,即使重新赋值给int型,也不能直接对比大小(编译能通过,但比较的结果是错的),不信试试。
java中Integer.parseInt和Integer.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类型进行互相转换 。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Integer.parse()和Integer.valueOf()的区别
你说的是parseInt()吧,区别就是接受的参数不同,返回更不同,parseInt是把String转换成int,注意是基本类型,valueOf()还可以接受int类型参数,返回的封装类Integer!
关于过时的问题,直接用DateFormat类的相应方法parse完成!