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

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

Integer.parseInt()把String 型转换为Int型,

Integer.valueOf()把String 型转换为Integer对象。

大概知道一点了,就是说Integer.valueOf(S)是针对包装类来说的,而Integer.parseInt(s) 是针对变量而言

不是很复杂,知道以下的知识就够了:

1.Java 包括两种数据类型:
原始数据类型(primitive data type):int, byte, float, long, boolean ...
对象(Object):其他的都是对象,包括数组。

2.每种 原始数据类型 都有一个相对应的包装类(Wrapper Class):
如 int 对应 Integer, float 对应 Float,有如下特性:

1)包装类里的数值是无法修改的

2)都有一个 构造方法,参数为 对应的原始数据类型,比如:
new Integer (10), new Boolean (true)

3)都有一个 构造方法,参数为一个字符串,把字符串转换为值,比如:
new Integer ("10"), new Boolean ("true")

4)有一个方法,可以把存在包装类里的值取出来:
Integer.intValue(), Float.floatValue();
5)有一个静态方法,不用创建一个对象就可以把字符串转换为值,比如:
int i = Integer.parseInt("10");

3.String 和 StringBuffer
每一个 Object 都有一个 toString() 函数。
Java 里使用 操作符重载的地方只有一个: + 操作:
如果两个操作数中有一个是 String,就调用另一个操作数的 toString,结果就变成
两个 String 的相加。

常用在 Exception 的处理中,比如:
try {
}catch (Exception e){
System.out.println ("Error: " + e);
}
处理过程:"Error: " + e ->; "Error: " + e.toString()

如果是 String 和 基本数据类型相加,就先把这个基本数据类型用他的包装类处理。
"String" + 123 ->; "String" + Integer(123) ->; "String" + Integer(123).toString()

String + String 的过程,Java 的内部处理过程(1.4以后)实际上是这样的:
"String1" + "String2" ->; new StringBuffer("String1").append("String2").toString()

先建立一个 StringBuffer, 再用 append 计算,最后把 StringBuffer 转换成 String
原因是 String 是 不可修改的,StringBuffer 是可以修改的,字符串计算时还是用
StringBuffer 比较快

所以,数据转换:
int ->; String
String newValue = "" + 10;
String ->; int
int i = (new Integer("10")).intValue();
int i = Integer.parseInt("10");

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

时间: 2024-09-29 21:12:18

Integer.parseInt()和Integer.valueOf()有什么区别的相关文章

Integer.parseInt vs Integer.valueOf

一直搞不清楚这两个有什么区别.刚才特意查了一下帖子. Integer.parseInt 返回的是 primitive int Integer.valueOf  返回的是 Integer Object Reference: http://stackoverflow.com/questions/7355024/integer-valueof-vs-integer-parseint

Java中Integer.parseInt和Integer.valueOf,你还傻傻分不清吗?

在Java的Integer类中,有Integer.valueOf(String s)和Integer.parseInt(String s)两个静态方法,他们都能够将字符串转换为整型,他们到底有什么区别呢?今天就来分析下. 本文目录 一.源码分析二.结论三.扩展 一.源码分析 Integer.parseInt(String s)的源码: public static int parseInt(String s) throws NumberFormatException {    return par

Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别

通过查看java.lang.Integer的源码可以发现, 它们最终调用的都是 /** * Parses the string argument as a signed integer in the radix * specified by the second argument. The characters in the string * must all be digits of the specified radix (as determined by * whether {@link

java Integer parseInt()(转)

先来一段代码,代码很简单的,如下: public static void main(String[] args) { Integer a = Integer.parseInt("3"); Integer b = Integer.parseInt("3"); Integer c = Integer.parseInt("184"); Integer d = Integer.parseInt("184"); System.out.p

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();下述说法正确的

区分Integer.getInteger和Integer.valueOf、Integer.parseInt() 的使用方法

Integer类有两个看起来很类似的静态方法,一个是Integer.getInteger(String),另外一个是Integer.valueOf(String).如果只看方法名称的话,很容易将这两个方法的功能区分开来,还是让我们来看看Java文档. Integer.getInteger(String)的功能是根据指定的名称得到系统属性的整数值.第一个参数将被认为是系统属性的名称.系统属性可以通过 System.getProperty(java.lang.String)方法访问得到.属性值字符串

Integer.parseInt不同jdk源码解析

执行以下代码: System.out.println(Integer.parseInt("-123")); System.out.println(Integer.parseInt("+123")); 以下仅提供1.6和1.7两个版本的比较  1.6版本执行结果为:    1.7版本执行结果为: 从两方面去查证结果的原因,分别是:查看API文档 和 查看对应的源代码 [查看API文档]  1.6版本对应的API文档:    1.7版本对应的API文档: 可以看出,对第

Integer.parseInt(f.trim())中String f要加trim()

如int a=Integer.parseInt(f.trim());语句中String 转换成int 时 f要加trim()方法,不然会抛出异常. Integer.parseInt(f.trim())中String f要加trim(),布布扣,bubuko.com

java里的 int n=Integer.parseInt(args[0])

1. int是java的基本数据类型,"int n"表示定义了一个int 型的变量n;2. int n = Integer.parseInt(args[0]) 表示给定义的变量n 赋予一个初值为"Integer.parseInt(args[0])";3. Integer.parseInt(args[0])中,Integer是java中的一个内置类,parseInt()是这个类的一个静态方法,这个方法的作用是把括号里面的参数(args[0])转为int型的值,比如定义