zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    栈和堆的详细介绍
    在DataTable中执行DataTable.Select("条件")返回DataTable;
    委托和事件
    面试宝典
    sql的寫法,推薦的寫法,全文索引提高類似like查詢的效率
    Google地图
    一般处理程序中,获取session
    提交表单
    手脱tElock 0.98b1 -> tE!
    手脱FSG 2.0 -> bart/xt
  • 原文地址:https://www.cnblogs.com/-zero/p/10383358.html
Copyright © 2011-2022 走看看