包装类

包装类转换

 //包装类(Integer) -> String
        Integer i = 100;//自动装箱
        //方式1
        String str1 = i + "" ;
        System.out.println(str1);
        //方式2
        String str2 = i.toString();
        System.out.println(str2);
        //方式3
        String str3 = String.valueOf(i);

        //String -> 包装类(Integer)
        String str4 = "12345";
        //方式1
        Integer i2  = Integer.parseInt(str4);//使用到自动装箱
        System.out.println(i2);
        //方式2
        Integer i3 = new Integer(str4);//构造器

包装类方法

 System.out.println(Integer.MIN_VALUE); //返回最小值
        System.out.println(Integer.MAX_VALUE);//返回最大值
        System.out.println(Character.isDigit('a'));//判断是不是数字
        System.out.println(Character.isLetter('a'));//判断是不是字母
        System.out.println(Character.isUpperCase('a'));//判断是不是大写
        System.out.println(Character.isLowerCase('a'));//判断是不是小写
        System.out.println(Character.isWhitespace('a'));//判断是不是空格
        System.out.println(Character.toUpperCase('a'));//转成大写
        System.out.println(Character.toLowerCase('A'));//转成小写

面试题1

Integer i = new Integer(1);
        Integer j = new Integer(1);
        System.out.println(i == j);//对象用等号比较是是否为同一个对象False
                                   //只要有基本数据类型就是判断是值是否相等
        /*
        解读:
        1.如果i在IntegerCache.low(-128)~IntegerCache.high(127),就直接从数据返回
        2.如果不在 -128~127,就直接 new Integer(i)
        public static Integer valueOf(int i) {
        if (i >= IntegerCache.low && i <= IntegerCache.high)
            return IntegerCache.cache[i + (-IntegerCache.low)];
        return new Integer(i);
    }
         */
        //所以,这里主要是看范围 -128~ 127就是直接返回
        //否则就new一个 Integer(xx)
        Integer m = 1;//底层Integer.valueOf(1);->阅读源码
        Integer n = 1;//底层Integer.valueOf(1);
        System.out.println(m == n);//True
        Integer x = 128;//底层Integer.valueOf(1);
        Integer y = 128;//底层Integer.valueOf(1);
        System.out.println(x == y);//False

面试题2

 //示例一
        Integer i1 = new Integer(127);
        Integer i2 = new Integer(127);
        System.out.println(i1 == i2);//F
        // 示例二
        Integer i3 = new Integer(128);
        Integer i4 = new Integer(128);
        System.out.println(i3 == i4);//F
        //示例三
        Integer i5 = 127;//底层 Integer.valueOf(127)
        Integer i6 = 127;//-128~127
        System.out.println(i5 == i6); //T
        //示例四
        Integer i7 = 128;
        Integer i8 = 128;
        System.out.println(i7 == i8);//F
        //示例五
        Integer i9 = 127; //Integer.valueOf(127)
        Integer i10 = new Integer(127);
        System.out.println(i9 == i10);//F
        //示例六
        Integer i11=127;
        int i12 = 127; //只要有基本数据类型,判断的是值是否相同
        System.out.println(i11==i12); //T
        // 示例七
        Integer i13=128;
        int i14=128;
        System.out.println(i13==i14);//T
posted @ 2022-06-21 11:59  满阶梧童  阅读(17)  评论(0)    收藏  举报