zoukankan      html  css  js  c++  java
  • Wrapper-装箱和拆箱

    基本数据类型:栈
      byte, short,int,long,float,double,char,boolean
    包装类型: 都处在java.lang包(不需要导包)
      Byte, Short,Integer,Long,Float,Double,Character,Boolean
      Integer中常用的方法:
        parseInt(String x):将字符串转为int类型
      数值类型常用的方法:Xxx:具体的数据类型
        parseXxx(String x):将字符串x转换为指定的数组类型Xxx
        parseInt,parseLong,parseFlot,parseDouble...
      1.什么是包装类型:堆(在内存中的消耗比较大)
        包装类是将基本类型封装到一个类中,然后提供常用的属性和方法
      2.为什么要用包装类型?
        a.在程序处理过程有些时候需要使用对象类型
        b.包装类型(类):其中提供一些属性和方法,方便操作
      JDK1.5之后Java支持自动装箱和拆箱
      装箱:将基本数据类型转化为包装类型:调用构造函数 或调用静态valueOf方法
        a.Integer num = new Integer(10);
        b.Integer num = Integer.valueOf(10);
      拆箱:将包装类型转为基本数据类型:对象名.xxValue():
        Integer a = Integer.valueOf(10);
        int b = Integer.intValue(a);

    public class WrapperDemo {
        public static void main(String[] args) {
    //        List list = new ArrayList();
    //        list.add(new Integer(1));//将基本数据类型转换为对象类型
    //        list.add(new Double(3.14));
    //        Integer num = new Integer(10);
            Integer num = Integer.valueOf(10);
            int num2 = num.intValue();//将包装类型转换为基本数据类型
            System.out.println("Integer-->max_value="+Integer.MAX_VALUE);
            System.out.println("Integer-->min_value="+Integer.MIN_VALUE);
            System.out.println("Integer-->SIZE="+Integer.SIZE);
            System.out.println(Integer.toBinaryString(10));//将指定的数值转化为2进制
            System.out.println(Integer.toHexString(10));//将指定的数值转化为16进制
            System.out.println(Integer.toOctalString(10));//将指定的数值转化为8进制
            String str="12";
            String str2="34";
    //        System.out.println(str+str2);//字符拼接
            int  a = Integer.parseInt(str);//将字符串转换为int类型
            int  b = Integer.parseInt(str2);
            System.out.println(a+b); 
            //JDK1.5支持自动装箱(基本类型--->包装类型)和拆箱(包装类型--->基本类型)操作
            Double d=3.14;//自动装箱
            double d2=d;//自动拆箱
        }
    }

    ==与equals的区别:
      ==比较对象的话比较是的地址的引用是否相等
      equals:比较是对象的内容是否相等
    Integer num3=123;//自动装箱
      ==>Integer num3=Integer.valueOf(123);

    public class WrapperDemo2 {
        public static void main(String[] args) {
            Integer num1=new Integer(123);
            Integer num2=new Integer(123);
            System.out.println(num1==num2);//false
            System.out.println(num1.equals(num2));//true
            System.out.println("-----------------------");
    //        Integer num3=123;//Integer num3=Integer.valueOf(123);
    //        Integer num4=Integer.valueOf(123);
            Integer num3=1234;//Integer num3=Integer.valueOf(1234);
            Integer num4=Integer.valueOf(1234);
            System.out.println(num3==num4);//false
            System.out.println(num3.equals(num4));//true
            
            
        }
    }
  • 相关阅读:
    haproxy 安装与配置
    Rancher使用入门
    Docker中配置国内镜像
    【转】【VC】VC程序运行时间测试函数
    【转】PNG图像文件格式
    【转】BMP图像文件格式
    【转】OPenGL MFC绘图
    OPenGL 库文件的添加
    【转】MFC WM_CTLCOLOR 消息
    【转】C#获取电脑客户端IP地址及当前用户名
  • 原文地址:https://www.cnblogs.com/fwdsz/p/6753360.html
Copyright © 2011-2022 走看看