Java SE-基本数据类型对应包装类

Posted stackOverFlow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java SE-基本数据类型对应包装类相关的知识,希望对你有一定的参考价值。

包装类 

Java是面向对象的编程语言,包装类的出现更好的体现这一思想。 

其次,包装类作为类是有属性有方法的,功能比基本数据类型要强大。

八种基本数据类型的包装类
  byte ——Byte
  short ——Short
  int ——Integer
  long——Long
  float——Float
  double——Double 
  char——Character
  boolean——Boolean

装箱与拆箱

装箱是指由基本数据类型向对应的包装类型转换。例如,int包装成Integer类的对象。 
拆箱是指有包装类转换成基本数据类型。例如,把Integer类的对象简化成int。

 
【基本数据类型变成对象包装类的好处】
  可以将基本数据和字符串之间进行互相的转换。
  如:int类型的取值范围是多少? 
       这就应该去查  Integer —— Integer.MAX_VALUE ; 
  基本数据类型包装类的主要作用: 进行基本数据类型和字符串之间的转换                                                                             
 
【基本类型数据 转为 字符串 的三种方式】
1.  基本数据类型对象包装类中的方法 static String toString(基本类型);
2.  String类中的方法: static String valueOf(基本类型)
3.  基本类型数据 +“ ”;
 
重点要掌握的就是:
  字符串---->基本类型数据。
  返回值类型——>基本类型 ;参数——>字符串。
  基本数据类型  变量名 = 基本数据类型包装类.parseXxx(XxxString);
 
  Long  l = Long.parseLong("4546545646546");
  System.out.println(Integer.parseInt("23") + 1);
  在八个基本类型对象包装类中只有一个对象没有parse方法,就是Character.
 
【类型转换错误】
  NumberFormatException——数字格式异常——我碰到了,因为我多加了一个空格。
 
【Integer中要掌握的方法】涉及到一个进制转换的问题。
十进制-->其他进制。
二进制:static String toBinaryString(int);
16进制:static String toHexString(int);
八进制:static String toOctalString(int);
其他进制——>转成十进制;
Integer.toString(6 , 2); 将6转换为二进制。
parseInt(intString , radix);
System.out.println(Integer.parseInt("110") , 2);
 
【基本类型优于包装类型,注意合理使用包装类型】

  说明:Java有两种类型,基本类型(Primitive type)和引用类型(Reference type)。基本类型如boolean,int, double,引用类型如String,List。每一种基本类型都有其对应的包装类型(Wrapper classes),如对应int的是Integer。

  很多情况下基本类型优于装箱基本类型,因为:

  1、在JDK 1.5以及之后的版本中增加了自动装箱和拆箱的特性。但是,不恰当的并行使用基本类型和包装类型,可能带来大量隐含的装箱和拆箱的操作。如下面的for语句中,由于循环变量是基本类型,而sum是包装类型,会导致频繁的自动装箱和拆箱操作,导致性能下降。

Long sum = 0L; 
for (long i=0; i<Integer.MAX_VALUE; i++){
  sum += i;
}
System.out.println(sum);

  2、对于包装类型,使用“==”比较可能无法得到预期的结果。如:new Integer(42) ==new Integer(42) 将返回false。应该使用equals方法做装箱类型的比较。

   使用包装类型合理的场景有:

1、作为集合中的元素、键和值

2、泛型,必须使用包装类型,如List<Integer>

3、进行反射的方法调用时








以上是关于Java SE-基本数据类型对应包装类的主要内容,如果未能解决你的问题,请参考以下文章

Java中的包装类system类

Java中的包装类system类

java的包装类

Java基本数据类型的包装类

java基本数据类型包装类

Java api 入门教程 之 JAVA的包装类