美文网首页
Java — 基本包装类等

Java — 基本包装类等

作者: 浮桥小麦 | 来源:发表于2017-06-12 17:09 被阅读16次
    1.基本包装类
    //包装类
            /*
            byte -> Byte
            short ->  Short
             int -> Integer
             long -> Long
             float -> Float
             double -> Double
             char -> Character
             boolean -> Boolean
             */
    //基本数据类型变为包装类的好处:可以调用很多方便的方法
     //2.可以用于基本数据类型和字符串的转换
            //演示:
            System.out.println(Integer.toBinaryString(60));
            //将这个60转成二进制数,并以字符串形式表示
            System.out.println(Integer.toOctalString(60));//8进制
            System.out.println(Integer.toHexString(60));//16进制
    
    2. int包装类-> Integer
    //Integer
            //Integer 类在对象中包装了一个基本类型int值
            //该类提供了多个方法,能再int类型和String类之间转换
            //还提供了处理int类型时非常有用的一些方法
    
    //1.构造方法 Integer(int value)  / Integer(String s)
            Integer inte1 = new Integer(80);
            System.out.println(inte1);
    
     Integer inte2 = new Integer("89");//用这个构造必须字符串指向的是数值类型的
            System.out.println(inte2);
    
        //2.获取int的最大值和最小值
            System.out.println(Integer.MAX_VALUE);
            System.out.println(Integer.MIN_VALUE);
    
    3. int和String的转换
    //int 和 String进行转换
            //a: int to String
            //0. 和""拼接
            int num1 = 100;
            String result = num1 + "";
            System.out.println(result);
            //1. public static String valueOf(int i)
    
            //2. Integer类的toString方法
           
            //3. public static String toString(int i )
            String str = Integer.toString(80);
    
            //b: String to int
            //1. String -> Integer -> int
    
            //2. public static int parseInt(String s);
            int num = Integer.parseInt("89");
            System.out.println(num);
    
    
    4.JDK5的新特性-自动装箱和拆箱
    //JDK5 新特性
            //自动装箱:把基本类型转换为包装类类型
            //自动拆箱:把包装类型转换为基本类型
            //演示:
           //没有自动拆装箱时:
            int num = 100;
            Integer i = new Integer(num);
            //将基本数据类型包装为对象--手动装箱
    
            //手动拆箱
            int y = i.intValue();
    
            //自动的
           Integer i2 = 100; //现在可以直接赋值了,自动装箱
            int num3 = i2 + 299;  //自动拆箱
            System.out.println(num3);
            //底层和手动是做一样的事情
            //注意: Integer i3 = null;时,就不能用这个自动拆箱了
    
    5. Integer常见面试题
     //常见面试题
            Integer i1 = new Integer(97);
            Integer i2 = new Integer(97);
            System.out.println(i1 == i2);
            System.out.println(i1.equals(i2));
            //答案:false/true
            //解释:第一个比较地址值,是两个对象不一样。 一般类都会重写Object类的equals方法。自己去看
            System.out.println("-----------------");
    
            Integer i3 = new Integer(197);
            Integer i4 = new Integer(197);
            System.out.println(i3==i4);
            System.out.println(i3.equals(i4));
            //答案:
            //解释:
            System.out.println("------------------");
    
             Integer i5 = 127;
            Integer i6 = 127;
            System.out.println(i5 == i6);
            System.out.println(i5.equals(i6));
            System.out.println("---------------------");
    
    
            Integer i7 = 128;
            Integer i8 = 128;
            System.out.println(i7 == i8);
            System.out.println(i7.equals(i8));
    
           //这两道题结合起来看,当为128时,==号比较是false的
            //这是因为:-128 到 127 是byte的取值范围,在这个范围中,会自动装箱,在常量中获取
            //如果超过了byte的取值范围,那么会重新创建对象
    
    

    相关文章

      网友评论

          本文标题:Java — 基本包装类等

          本文链接:https://www.haomeiwen.com/subject/xlblqxtx.html