Java 简述int与Integer的区别

来源:互联网 发布:淘宝美工是做什么的 编辑:程序博客网 时间:2024/06/01 08:56
int 是基本数据类型
Integer是其包装类,注意是一个final 类:public final class Integer extends Number implements Comparable<Integer> {}
为什么要包装?
一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。


//通过包装类来实现转化的
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();

比如我现在要用泛型
List<Integer> nums;
这里<>需要类。如果你用int。它会报错的
拓展:
parseint和valueof的区别:
查看源代码可以看到valueOf内部也是调用parseInt的,只是valueOf返回值是包装类Integer,parseInt返回的是int
    public static Integer valueOf(String s, int radix) throws NumberFormatException {        return Integer.valueOf(parseInt(s,radix));    }
     public static int parseInt(String s, int radix)                throws NumberFormatException    {}

                                             
0 0