包装类

我们知道,JAVA中的数据类型分为基本数据类型和引用数据类型,而相比基本数据类型,引用数据类型的功能更加强大,更加便捷。
而且,JAVA号称完全面向对象语言,所以,JAVA中的基本数据类型也有自己相应的类,功能更加强大,便捷。而这些,就叫做基本数据类型的包装类。


包装类

  • 基本类型有八种,都是非常简单的数据类型,不能创建对象
  • 在这些基本数据类型中,只能表示非常简单的数据,不能包含一些数据的操作,没有办法存储描述这些数据的内容。需要一个引用数据类型对将基本数据类型进行包装,提供一些操作基本数据的方法,定义一些描述数据的操作。

基本数据类型的包装类

  •   byte          Byte
  •   short          Short
  •   int            Integer
  •   long          Long
  •   float          Float
  •   double        Double
  •   char         Character
  •   boolean      Boolean

因为这些包装类的方法众多,不可能一一演示,所以选出最常用的Integer类来进行介绍。其他的通过类比和API文档,也都可以很容易的理解。


Integer类

第一步,打开API搜索Integer..

第二步,查看常量

代码示例:

public class IInteger {
	public static void main(String[] args) {
		//表示一个int值在内存中占多少字节数
		System.out.println(Integer.BYTES);
		//表示int类型最大能表示多大的值
		System.out.println(Integer.MAX_VALUE);
		//表示int类型最小能表示多小的值
		System.out.println(Integer.MIN_VALUE);
		//表示int值最多能有多少位,比如100是到百位一共三位。
		System.out.println(Integer.SIZE);
		//表示Integer类型的源类型是什么:int类型
		System.out.println(Integer.TYPE);
	}
}

输出结果:

4
2147483647
-2147483648
32
int

第三步查看构造方法

代码示例:

public class IInteger {
	public static void main(String[] args) {
		//直接用int类型的常量或者变量赋值
		Integer i = new Integer(30);
		System.out.println(i);
		int ii = 33;
		Integer iii = new Integer(ii);
		System.out.println(iii);
		
		//用全是数字的字符串来进行赋值。相当于String转化为Integer的一种形式。
		Integer j = new Integer("23324");
		System.out.println(j);
	}
}

输出结果:

30
33
23324

第四步查看成员方法:

。。。。。。。太多了,截取不完。抽出其中比较常用的演示一下。

public class IInteger {
	public static void main(String[] args) {
		//compare方法,如果前面的大返回1,如果后面的大返回-1,相等则返回0
		System.out.println(Integer.compare(45, 40));
		
		//compareTo方法,如果调用者大返回1,如果参数大返回-1,相等则返回0
		Integer a = new Integer(40);
		Integer b = new Integer(30);
		System.out.println(a.compareTo(b));
		
		//compareUnsigned方法,忽略符号:如果前面的大返回1,如果后面的大返回-1,相等则返回0
		System.out.println(Integer.compareUnsigned(-90, 80));
		
		//decode方法,和构造方法类似,将字符串类型转化为Integer类型
		System.out.println(Integer.decode("1232323"));
		
		//doubleValue方法,进行Integer类型和基本数据类型double的转化,与此类似的还有byteValue、shortValue、intValue、floatValue、longValue
		Integer c = new Integer(40);
		System.out.println(c.doubleValue());
		
		//hashCode方法,在Object类中应该是获取对象内存地址的10进制编码,这里重写之后,直接输出调用者的int值
		System.out.println(c.hashCode());
		
		//max、min方法,返回其中的较大值或者较小值
		System.out.println(Integer.max(40, 30));
		System.out.println(Integer.min(30, 39));
		
		//parseInt方法,把字符串转化为带符号的int型数值
		System.out.println(Integer.parseInt("-23242"));
		
		//分别为将int型数据转化为相应的2进制、十六进制、八进制的字符串形式
		System.out.println(Integer.toBinaryString(20));
		System.out.println(Integer.toHexString(220));
		System.out.println(Integer.toOctalString(3333));
		
		//将int型基础数据类型和字符串转化为Integer型
		System.out.println(Integer.valueOf(300));
		System.out.println(Integer.valueOf("123232"));
	}
}

输出结果:

1
1
1
1232323
40.0
40
40
30
-23242
10100
dc
6405
300
123232

Integer、int、String类型互相转换总结

Integer转成int类型:             intValue()

int转成Integer类型:            构造方法

                                             valueOf()

Integer转String类型:          toString()

String转Integer类型:          构造方法

                                            valueOf()

int转成String:                    拼接成一个空串

                                           String Integer.toString(int i)

 String转成int类型             Integer.parseInt(String str);


自动装箱和拆箱

在JDK1.5以后,JAVA加入了新特性,就是自动装箱和拆箱,其实意思就是:我们的包装类和所对应的基本数据类型可以互通。

  • 装箱:将基本数据类型进行包装变成引用数据类型
  • 拆箱:将引用数据类型变成基本数据类型。
  • 自动

代码示例:

public class 自动装箱和拆箱 {
	public static void main(String[] args) {
		Integer i = 30;  //不用构造方法,自动装箱  如果是字符串还是要用的
		int j = 50;
		int k = i + j;//自动拆箱,可以直接和int型变量互相加减
		System.out.println(k);
	}
}

结果输出:

80

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值