zoukankan      html  css  js  c++  java
  • 包装类(Wrapper) 的使用

    package com.ch.java2;
    
    import org.junit.Test;
    
    /*
     * 包装类的使用:
     * 1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征
     * 
     * 2.掌握的:基本数据类型、包装类、String三者之间的相互转换
     * 
     * 
     * 
     */
    public class WrapperTest {
        
        //String类型 --->基本数据类型、包装类:调用包装类的parseXxx(String s)
        @Test
        public void test5(){
            String str1 = "123";
            //错误的情况:
    //        int num1 = (int)str1;
    //        Integer in1 = (Integer)str1;
            //可能会报NumberFormatException
            int num2 = Integer.parseInt(str1);//返回一个int型的值
            System.out.println(num2 + 1);//可以进行加减运算
            
            String str2 = "true1";
            boolean b1 = Boolean.parseBoolean(str2);
            System.out.println(b1);
        }
        
        //基本数据类型、包装类--->String类型:调用String重载的valueOf(Xxx xxx)
        @Test
        public void test4(){
            
            int num1 = 10;
            //方式1:连接运算
            String str1 = num1 + "";
            //方式2:调用String的valueOf(Xxx xxx)
            float f1 = 12.3f;
            String str2 = String.valueOf(f1);//"12.3"
            
            Double d1 = new Double(12.4);
            String str3 = String.valueOf(d1);
            System.out.println(str2);
            System.out.println(str3);//"12.4"
            
        }
        
        /*
         * JDK 5.0 新特性:自动装箱 与自动拆箱
         */
        @Test
        public void test3(){
    //        int num1 = 10;
    //        //基本数据类型-->包装类的对象
    //        method(num1);
            
            //自动装箱:基本数据类型 --->包装类
            int num2 = 10;
            Integer in1 = num2;//自动装箱
            
            boolean b1 = true;
            Boolean b2 = b1;//自动装箱
            
            //自动拆箱:包装类--->基本数据类型
            System.out.println(in1.toString());
            
            int num3 = in1;//自动拆箱
            
        }
        
        public void method(Object obj){
            System.out.println(obj);
        }
        
        //包装类--->基本数据类型:调用包装类Xxx的xxxValue()
        @Test
        public void test2(){
            Integer in1 = new Integer(12);
            
            int i1 = in1.intValue();
            System.out.println(i1 + 1);
            
            
            Float f1 = new Float(12.3);
            float f2 = f1.floatValue();
            System.out.println(f2 + 1);
        }
        
        //基本数据类型 --->包装类:调用包装类的构造器
        @Test
        public void test1(){
            
            int num1 = 10;
    //        System.out.println(num1.toString());
            Integer in1 = new Integer(num1);
            System.out.println(in1.toString());
            
            Integer in2 = new Integer("123");
            System.out.println(in2.toString());
            
            //报异常
    //        Integer in3 = new Integer("123abc");
    //        System.out.println(in3.toString());
            
            Float f1 = new Float(12.3f);
            Float f2 = new Float("12.3");
            System.out.println(f1);
            System.out.println(f2);
            
            Boolean b1 = new Boolean(true);
            Boolean b2 = new Boolean("TrUe");//可以忽略大小写
            System.out.println(b2);
            Boolean b3 = new Boolean("true123");
            System.out.println(b3);//false
            
            
            Order order = new Order();
            System.out.println(order.isMale);//false
            System.out.println(order.isFemale);//null
        }
        
    }
    
    class Order{
        
        boolean isMale;
        Boolean isFemale;
    }
    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    传球接力
    业务办理
    P2077 红绿灯
    【UR #4】元旦激光炮
    P1939 【模板】矩阵加速(数列)
    #82. 【UR #7】水题生成器
    Visible Trees HDU
    创始人的领导力和合伙人选择
    面向对象笔试题练习一
    MicroPython+北斗+GPS+GPRS:TPYBoardv702短信功能使用说明
  • 原文地址:https://www.cnblogs.com/CCTVCHCH/p/14589206.html
Copyright © 2011-2022 走看看