java31

  1. 包装类(包含了一些功能)
    基本数据类型包装成对象
    以面向对象的思想来使用这些类型
基本数据类型    包装类
byte          Byte
short          Short
int          Integer
long          Long
float          Float
double          Double
char          Character
boolean          Boolean
  1. 装箱操作:将基本数据类型转换成对应的包装类
    -1-
eg:
        int a = 10;
	Integer num1 = new Integer(a);//Integer 内含toString方法,所以可以直接输出对象
	Integer num2 = Integer.valueOf(a);
	System.out.println(num1);
	System.out.println(num2);
【10】

-2-

   输出最大最小值
		System.out.println(num.MAX_VALUE);
		System.out.println(num.MIN_VALUE);

-3-

System.out.println(num.TYPE);
//可以知道是由什么基本数据类型转变过来的

-4-

转换成二进制
System.out.println(num.toBinaryString(5));         

-5-

Integer可以将字符串转换成整型,但双引号里必须是数字
Integer num3 = new Integer("123");

【123】
3.拆箱操作:将包装类转换成对应的基本数据类型
(只有装箱了,才能拆箱)

        Integer i = Integer.valueOf(15);
	int i1 = i.intValue();

-1-

char
装箱:
        Character c = new Character('a');
           或者
        Character c = Character.valueOf('a');
拆箱:
        Character c1 = c.charValue();
	System.out.println(c);
	System.out.println(c1);
【
a
a
】

-2-

long
装箱:
        Long l = new Long(15);
          或者
        Long l = Long.valueOf(15);
拆箱:
        Long l1 = l.longValue();
【
15
15
】
  1. 自动装箱:可以直接把一个基本数据类型赋值给对应的包装类
    自动拆箱:可以直接把一个包装类赋值给对应的基本数据类型
    (语法糖)
//自动装箱
	Integer i = 5;
	System.out.println(i);
//自动拆箱
	int i1 = i;
	System.out.println(i1);
//自动装箱
	Character c = 'j';
//自动拆箱
	char c1 = c;	

字符串相关转化

        //字符串转换成包装类
        Integer i = Integer.valueOf("123");
        String  i1 = i.toString();
        //要得知i和i1的类型
        System.out.println(i.getClass());
        System.out.println(i1.getClass());
【class java.lang.Integer
class java.lang.String】
        //包装类转换成字符串
        String i2 = i.toString();

        //基本数据类型转变成字符串类型
        //在其后直接加" ";
                int a = 1;
                String a1 = a+" ";
                String a2 = a+"/5";

        //字符串类型转变成基本数据类型
                String s = String.valueOf("123");
                int s2 = Integer.parseInt(s);
                System.out.println(s);
                System.out.println(s2);

                String s3 = String.valueOf("100");
                double s4 = Double.parseDouble(s3);

        //字符串类型转变成布尔类型         
        //(除了true和true任何形式的大小写输出为true,其他打印均为false)
                Boolean b = Boolean.valueOf("qq");
                System.out.println(b);
【false】
                Boolean b2= Boolean.valueOf("true");
                System.out.println(b2);
【true】
  1. 包装类和基本数据类型的区别
  • 默认值的不同
    int 默认值:0
    Integer默认值:null
  • 包装类中提供了许多直接可以使用的方法
eg:
    十进制转换为二进制
		System.out.println(Integer.toBinaryString(4));
		System.out.println(Integer.toBinaryString(11));
【100
1011】
  • 集合框架中不能存放基本数据类型,只能存对象 (包装类)
  • 什么时候有包装类,什么时候有基本数据类型
    包装类:(存放在堆中)在类中创建对象的字段时
    基本数据类型:(存放在栈中)在方法中
  1. 缓存设计valueOf
//同一个内存地址
	Integer i = Integer.valueOf(15);
	Integer i2 = Integer.valueOf(15);
	System.out.println(i==i2);
【true】
//创建了新的内存地址
	Integer i3 = new Integer(15);
	Integer i4 = new Integer(15);
	System.out.println(i3==i4);
【false】
Integer的范围时-128到127
//超出范围
	Integer i5 = Integer.valueOf(128);
	Integer i6 = Integer.valueOf(128);
	System.out.println(i5==i6);
【false】
Character的范围是0到127
原文地址:https://www.cnblogs.com/-zero/p/10383358.html