• Integer


    package com.Integer;

    public class Study01 {
        /**
         * 对象包装类的引入
         * 基本数据类型没有什么方法,操作它的话比较麻烦,所以一般使用它的包装类进行操作
         * int    Integer
         * byte    Byte
         * short Short
         * long    Long
         * char    Character
         * boolean Boolean
         * float Float
         * double Double
         *
         * Integer
         * final修饰
         * 1.0开始
         *
         * 构造方法:
         *     Integer(int value)
         *     Integer(String s) //只能放可以转换成int的参数,否则报错NumberFormatException
         *
         * 获取Integer方法:
         *     static decode(String s) 将String解码成为Integer
         *     getInteger(String num [,int val]) 获取String、转化成为的Integer,转换失败返回null,有默认值得话转换失败返回默认值
         *  static valueOf(String str) 返回保存String值得Integer对象
         *  static valueOf(String str,int radix) 保存String的值转化成为以radix为基数的Integer对象,(就是将String中的值转换成某种进制的Integer对象)
         * 获取int
         *     intValue() 将Integer转化成为int
         *     parseInt(String str) 解析String为int
         *     parseInt(String str,int radix) 解析String为特殊进制的int
         *
         *     static toString(int x)将x转换成为String
         *     static toString(int x,int radix)将radix位的x转化成String
         *
         * 10进制转换到常用进制:
         *     toBinaryString(int x)转成二进制
         *  toHexString(int x)转成16进制
         *  toOctalString(int x)转成8进制
         *
         */
        public static void main(String[] args){
            Integer ii=Integer.getInteger("ss12",12);
            System.out.println(ii);
        }

    }

    package com.Integer;



    public class Study02 {
        /*
         *JDK5的新特性:自动拆装箱
         *装箱:把基本类型转换成为包装类类型
         *拆箱:将包装类类型转换成基本类型
         */
        
        public static void main(String[] args){
            /*Integer ii=100;
            ii+=200;
            System.out.println("ii:"+ii);*/
            testInteger();
            /*
              相当于这样:*/
                Integer ii = Integer.valueOf(100);
                ii = Integer.valueOf(ii.intValue() + 200);
                System.out.println((new StringBuilder("ii:")).append(ii).toString());
            
        }
        
        public static void testInteger(){
            /*
             * 看程序写结果
             */
            Integer i1=new Integer(127);
            Integer i2=new Integer(127);
            System.out.println(i1==i2);
            System.out.println(i1.equals(i2));
            System.out.println("-------------");
            
            Integer i3=new Integer(128);
            Integer i4=new Integer(128);
            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));
            System.out.println("-------------");
            
        }
        
        /**
          自动装箱实际上使用的是Integer.valueOf()
          查看源码发现,针对-128~127之间的数据,做了一个数据缓存池,如果数据是该范围内的,每次不创建新对象,范围外每次创建新对象
     public static Integer valueOf(int i) {
        final int offset = 128;
        if (i >= -128 && i <= 127) { // must cache
            return IntegerCache.cache[i + offset];
        }
            return new Integer(i);
        }
      private static class IntegerCache {
        private IntegerCache(){}

        static final Integer cache[] = new Integer[-(-128) + 127 + 1];

        static {
            for(int i = 0; i < cache.length; i++)
            cache[i] = new Integer(i - 128);
        }
        }
         */

    }

  • 相关阅读:
    树莓派无线中继的实现
    最近宿舍使用树莓派心得一二
    ARM 编译 phddns
    FIR on Hadoop using hadoop-streaming
    转--linux awk
    java 多线程总结
    现有的Saliency计算模型的几个常见问题及回答 (转)
    Datastage 各种控件使用指南
    2014年军训总结
    分页查询
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/5566030.html
Copyright © 2020-2023  润新知