编程语言
首页 > 编程语言> > 黑马毕向东Java课程笔记(day13-13_13-14):包装类

黑马毕向东Java课程笔记(day13-13_13-14):包装类

作者:互联网

1、包装类特点
  基本数据类型对象包装类:

基本数据类型     引用数据类型
byte	        Byte
short	        Short
int		        Integer
long	        Long
boolean         Boolean
float	        Float
double	        Double
char	        Character

  基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换。另外,如果我们想将一个int类型的十进制变量转换二进制,并获取该二进制数的数字String表现,我们可以直接使用基本数据类型int对象包装类Integer的方法直接装换:Integer.toBinaryString(int number);,也就是说,基本数据类型对象包装类给我们提供了许多操作基本数据类型的方法。

基本数据类型转成字符串:

1)基本数据类型值+"",如:String s1 = 666+"";

2)基本数据类型包装类名.toString(基本数据类型值),如: Integer.toString(34);//将34整数变成"34";
或基本数据类型包装类对象.toString():	String s3 = number.toString();//number是Integer对象

字符串转成基本数据类型:
1)方法1: xxx a = Xxx.parseXxx(String); 如:
	int a = Integer.parseInt("123");
	double b = Double.parseDouble("12.23");
	boolean b = Boolean.parseBoolean("true");

2)方法2:利用基本数据类型对象包装类的构造方法,如:Integer(String s) 
	Integer i = new Integer("123");//先将字符串转换为Integer对象
	int num = i.intValue();//再调用Integer类的intValue()方法将Integer对象转换为int数据

十进制转成其他进制:
	toBinaryString();
	toHexString();
	toOctalString();

其他进制转成十进制。
	parseInt(string,radix);

  代码示例如下:

package pack;
class StringDemo 
{
	public static void main(String[] args) 
	{	
		//创建包装类Integer的对象
		Integer number = new Integer(666);
		int number1 = 666;//普通方法
		
		//整数类型的最大值
		sop("整数类型的最大值为:"+Integer.MAX_VALUE);
		
		//基本数据类型转换成为字符串
		String s1 = 666+"";
		String s2 = Integer.toString(666);//将Integer对象作为方法参数,用Integer类名调用
		String s3 = number.toString();//将Integer对象作为引用者
		
		//字符串转换为基本数据类型
		//下面方法在使用的时候必须要往方法中传入对应格式的内容,否则会出现异常
		int num1 = Integer.parseInt("123");
		double num2 = Double.parseDouble("12.456");
		boolean b = Boolean.parseBoolean("true");
		
		//int类型数据调用Integer的方法进行进制转换:十进制转换为其他进制
		sop("65的二进制表现形式为:"+Integer.toBinaryString(65));
		sop("65的十六进制表现形式为:"+Integer.toHexString(65));
		//其他进制转换为十进制
		int num3 = Integer.parseInt("101", 2);//其中“101”是要转换为十进制的数,而2是代表“101”的进制
		sop(num3);
		
	}
	
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}

2、基本数据类型包装类的新特性
  JDK1.5后关于包装类的一些新特性

package pack;
class StringDemo 
{
	public static void main(String[] args) 
	{	
		Integer num1 = new Integer("123");
		Integer num2 = new Integer(123);
		sop("num1 == num2:"+(num1==num2));//false:2个不同的对象
		sop("num1.equals(num2):"+num1.equals(num2));//Integer重写了Object的equals方法,比较的是数值是否相同
		
		/*特性1*/
		Integer n1 = new Integer(66);
		//JDK1.5以后的新特性:自动装箱,将new Integer(66);缩写为66
		Integer n2 = 66;//n2是Integer类型的变量,66是对象
		//对象n2可以直接进行运算:自动拆箱,将n2这个对象转换为基本数据类型int,再+2,再将和进行装箱赋予对象n2
		//拆箱原理:n2.intValue(),将n2转换为int类型
		n2 = n2 + 4;//n2是对象,4是一个整数
		
		//对于新特性,n2的值可能为null,而如果是int类型的变量其值不可能为null
		//因此,我们在使用Integer类型变量的时候,有时候要判断是否为空
		
		/*特性2*/
		Integer m = 128;
		Integer n = 128;
		sop("m==n:"+(m==n));//false

		Integer a = 127;
		Integer b = 127;
		sop("a==b:"+(a==b));//结果为true。因为a和b指向了同一个Integer对象。
						//因为当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会在开辟新的空间。
	}
	
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}

标签:13,Java,14,int,数据类型,sop,Integer,n2,String
来源: https://blog.csdn.net/LKJgdut/article/details/100174223