黑马程序员技术交流社区
标题:
valueOf(String s) 和parseInt(String s) 的使用区别在哪里?
[打印本页]
作者:
黄嵘才
时间:
2013-1-16 15:56
标题:
valueOf(String s) 和parseInt(String s) 的使用区别在哪里?
代码:
/*
* static Integer valueOf(String s)
返回保持指定的 String 的值的 Integer 对象。
static int parseInt(String s)
将字符串参数作为有符号的十进制整数进行分析。
*/
public class Test {
public static void main(String[] args){
String num = "12345";
Integer num1 = Integer.valueOf(num);
Integer num2 = Integer.parseInt(num);
System.out.println(num1);
System.out.println(num2);
}
}
问题:
基本类型包装类有 两个方法可以将字串Strinng类型的数字字转成他们类型。这里。这两个方法的效果都是一样的。
两个法在用法是什么区别。或是在哪种情况下用valueOF()?,哪种情况下用parse...?,或者都可以?
作者:
夏振博
时间:
2013-1-16 16:32
本帖最后由 arno942 于 2013-1-16 16:43 编辑
static Integer valueOf(String s)
//会把整数字符串包装成Interger类型整数 ,这时整数为引用类型
static int parseInt(String s)
//把整数字符串转换成 int类型的整数 , 这时整数为基本类型
体现的地方可以用集合存数据, 集合只能存引用类型 不能存基本类型,
你可以试下把整数存进集合, 结果存进去了! 是因为它自动包装了 实际存进去的是Integer类型的
java文件:
import java.util.ArrayList;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List list = new ArrayList();
list.add(3);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
复制代码
这是反编译器打开的class文件你可以看编译器都做了哪些事
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
public class Demo
{
public Demo()
{
}
public static void main(String args[])
{
List list = new ArrayList();
list.add(Integer.valueOf(3));
for(int i = 0; i < list.size(); i++)
System.out.println(list.get(i));
}
}
复制代码
作者:
惠晖
时间:
2013-1-16 16:42
楼上回答的很详细了 ValueOf 变成了一个对象, parseIng 变成基本数据类型
作者:
yong230
时间:
2013-1-16 17:33
解释的很对
作者:
黄锦成
时间:
2013-1-16 19:57
yong230 发表于 2013-1-16 17:33
解释的很对
API那里说明了:valueOf(String)该方法返回一个等于以下值的 Integer 对象: new Integer(Integer.parseInt(s))
parseInt(String)返回的是基本类型int
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2