java中Integer.parseInt和Integer.valueOf 的区别

java 专栏收录该内容
16 篇文章 0 订阅

他们返回类型的不同是最大的原因。

  1. static int parseInt(String s) 将字符串参数作为有符号的十进制整数进行分析。static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。 static Integer valueOf(String s) 返回保持指定的 String 的值的 Integer 对象。 

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

  3. Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

其他回答:

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))会翻译错误.



(为了在各种类型间转化,通过各种方法的调用。否则,你无法直接通过变量转化)。
  比如,现在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();
  • 6
    点赞
  • 0
    评论
  • 22
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值