Java常见对象-5.包装类

基本数据类型不能创建对象并调用方法,如果有包装类就可以封装方法提供给我们使用

Byte,Short,Integer,Long,Float,Double,Character

//int转换为字符串
int num = 100;
String x = num + "";             //任何数据与字符串用+相连都会产生新的字符串
String y = String.valueOf(num);  //valueOf可以将任何数据转换为字符串
//字符串转换为其他类型
Integer.parseInt(String s)
Byte.parseByte(String s)
Short.parseShort(String s)
parseLong(String s)
parseFloat(String s)
parseDouble(String s)
parseBoolean(String s)
//没有parseChar,只有Character中没有parseXxx()方法,因为字符串是有多个字符组成,转换的时候char只能接收一个字符,字符串转成字符有toCharArray()方法
//jdk新特性
int x = 5;
Integer i = new Integer(x);              //jdk1.5版本之前将x变成对象

Integer i2 = x;             //自动装箱,把基本数据类型变成对象
int y = i2 + 10;            //自动拆箱,将Integer对象变成基本数据类型

x = i2.intValue();                       //jdk1.5版本之前将对象变成基本数据类型
//面试题
Integer i1 = new Integer(97);
Integer i2 = new Integer(97);
System.out.println(i1 == i2);             //false
System.out.println(i1.equals(i2));        //true

Integer i3 = new Integer(197);
Integer i4 = new Integer(197);
System.out.println(i3 == i4);             //false
System.out.println(i3.equals(i4));        //true     

Integer i5 = 127;
Integer i6 = 127;
System.out.println(i5 == i6);             //true
System.out.println(i5.equals(i6));        //true
//当Integer直接赋值的范围是在-128~127之间,也就是一个byte的取值范围,不会创建多个对象
//第一次Integer = 127,会在底层有一个数组存储-128~127之间的Integer对象值,直接从数组获取Integer对象,第二次Integer = 127,不会重新创建对象,继续从数组中获取

Integer i7 = 128;
Integer i8 = 128;
System.out.println(i7 == i8);             //false
System.out.println(i7.equals(i8));        //true
发布了25 篇原创文章 · 获赞 0 · 访问量 310

猜你喜欢

转载自blog.csdn.net/weixin_43203731/article/details/104877090