网页休闲游戏网站,公司直招的招聘网站,北京开发网站建设,如何弄微信小程序#xff08;一#xff09;包装类概念 官方说法#xff1a; Java是面向对象的语言#xff0c;但是为了便于开发者的使用#xff0c;Java中却沿用了C语言的基本数据类型#xff0c;在进行基本的数据计算时#xff0c;开发者可以直接使用基础类。但是当需要和Java其他对象…一包装类概念 官方说法 Java是面向对象的语言但是为了便于开发者的使用Java中却沿用了C语言的基本数据类型在进行基本的数据计算时开发者可以直接使用基础类。但是当需要和Java其他对象结合使用如存入集合中就需要将基础数据类型实例封装为Java对象为了面向对象的这一特性基本数据类型中的每一个类型在java.lang包中都有一个包装类即将每个基本类型都包装成了一个类。 简述Java提供了两个类型系统基本类型与引用类型使用基本类型在于效率然而当要使用只针对对象设计的API或新特性例如泛型那么基本数据类型的数据就需要用包装类来包装。
序号基本数据类型包装类JAVA.LANG包1byteByte2shortShort3intInteger4longLong5floatFloat6doubleDouble7charCharacter8booleanBoolean9voidVoid 二装箱和拆箱
装箱与拆箱
装箱把基本数据类型转为包装类对象。 转为包装类的对象是为了使用专门为对象设计的API和特性 拆箱把包装类对象拆为基本数据类型。 转为基本数据类型一般是因为需要运算Java中的大多数运算符是为基本数据类型设计的。比较、算术等 基本数值----包装对象
Integer obj1 new Integer(4);//使用构造函数函数
Integer obj2 Integer.valueOf(4);//使用包装类中的valueOf方法
包装对象----基本数值
Integer obj new Integer(4);
int num1 obj.intValue();
JDK1.5之后可以自动装箱与拆箱。 注意只能与自己对应的类型之间才能实现自动装箱与拆箱。 Integer i 4;//自动装箱。相当于Integer i Integer.valueOf(4);
i i 5;//等号右边将i对象转成基本数值(自动拆箱) i.intValue() 5;
//加法运算完成后再次装箱把基本数值转成对象。
Integer i 1;
Double d 1;//错误的1是int类型 三包装类的一些API
1、基本数据类型和字符串之间的转换
1把基本数据类型转为字符串
int a 10;
//String str a;//错误的
//方式一
String str a ;
//方式二
String str String.valueOf(a);
2把字符串转为基本数据类型
String转换成对应的基本类型 除了Character类之外其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型例如 public static int parseInt(String s)将字符串参数转换为对应的int基本类型。 public static long parseLong(String s)将字符串参数转换为对应的long基本类型。 public static double parseDouble(String s)将字符串参数转换为对应的double基本类型。
或把字符串转为包装类然后可以自动拆箱为基本数据类型 public static Integer valueOf(String s)将字符串参数转换为对应的Integer包装类然后可以自动拆箱为int基本类型 public static Long valueOf(String s)将字符串参数转换为对应的Long包装类然后可以自动拆箱为long基本类型 public static Double valueOf(String s)将字符串参数转换为对应的Double包装类然后可以自动拆箱为double基本类型
注意:如果字符串参数的内容无法正确转换为对应的基本类型则会抛出java.lang.NumberFormatException异常。
int a Integer.parseInt(整数的字符串);
double d Double.parseDouble(小数的字符串);
boolean b Boolean.parseBoolean(true或false);
int a Integer.valueOf(整数的字符串);
double d Double.valueOf(小数的字符串);
boolean b Boolean.valueOf(true或false);
2、数据类型的最大最小值
Integer.MAX_VALUE和Integer.MIN_VALUE
Long.MAX_VALUE和Long.MIN_VALUE
Double.MAX_VALUE和Double.MIN_VALUE
3、字符转大小写
Character.toUpperCase(x);
Character.toLowerCase(X);
4、整数转进制
Integer.toBinaryString(int i)
Integer.toHexString(int i)
Integer.toOctalString(int i)
5、比较的方法
Double.compare(double d1, double d2)
Integer.compare(int x, int y) 四包装类对象的特点
1、包装类缓存对象
包装类缓存对象Byte-128~127Short-128~127Integer-128~127Long-128~127Float没有Double没有Character0~127Booleantrue和false
2、类型转换问题 3、包装类对象不可变