zoukankan      html  css  js  c++  java
  • 包装类、Object类——Java笔记(八)

    包装类:
        基本数据类型的包装类    
    基本数据类型
    包装类
    byte
    Byte
    short
    Short
    int
    Integer
    long
    Long
    char
    Character
    float
    Float
    double
    Double
    boolean
    Boolean

     

     

     

     

     

     

     

     

     

    基本数据类型包装类除了Character类之外,其他7个都有两个构造方法

            一个构造方法传参传的是基本数据类型本身
            另一个构造方法传参传的是String类型的,而Character少的就是这一个,即public Character(String c){};
     
    包装类Boolean操作时
            Boolean b =  new boolean("TRUe");//里面传参除了TRUE之外且不区分大小写,其他的都默认是FALSE ;
     
    包装类转基本类型:
            调用基本数据类型value()方法
    例:
        Integer   a  =  new Integer();
        //把   Integer包装类调用intvalue()就成功的转成int数据类型
        int  b  = a.intvalue();  
     
    基本类型转包装类:
            直接new其包装类就
    例:
      Integer   a  =  new Integer(16);
    Java5开始提供了包装类转基本类型、基本类型转包装类的功能
       基本类型转包装类
                    可以把一个基本数据类型的值直接赋给其包装类对象
    例:
            Integer  a  = 16;
        包装类转基本类型
                    可以把一个包装类对象直接赋给一个基本数据类型的变量
            int b = a;
    Integer的值相等么?
      1.当赋值情况如下时:
             Integer   a  =  new Integer(16);
             Integer   a2   =  new Integer(16);
            System.out.println("a1 == a2 " + (a1 == a2)); //false
           如果用这种创建对象的模式那么integer的值就不想等,因为他们是两个对象
      2.如果用Java5的新特性:
              Integer   a  =  16;
              Integer   a2   =  16;
              System.out.println("a1 == a2 " + (a1 == a2)); //true
          如果用这种模式那么它们的只是相等的,不过它们的值只有在这个[-128,127]区间内才相等
       byte,short,int,long它们的缓存区间都一样[-128,127];
    类型转换:
        String --------->  int   
        static int parseInt(String s); 
        可以使用parseInt(String s)方法,该方法作用是将字符串参数作为十进制整数进行解析
     1  //string ------> int
     2   int i = Integer.parseInt("0012");
     3   System.out.println("string ------> int"+"	"+i);
     4  
     5   //int ------> string    Integer类   static String toString(int i); 
     6   //String类 public static String valueOf(int i)
     7   //利用toString(int i),valueOf(int i)方法可以实现int ------> string
     8  
     9 
    10   String s = Integer.toString(i);
    11   System.out.println("int ------> string"+"	"+s);
    12 
    13     int i1 = 123;
    14   System.out.println("int ------> string"+"	"+String.valueOf(i1));
    Object类
        所有父类的公共父类,一旦一个类没有显示地继承一个类则其直接父类一定是object,所有对象(包括数组)都实现这个类的方法
        一切数据类型都可以用object接收
    常见方法:
            boolean  equals(Object obj)指示他某个对象是否与此对象相等
                equals默认比较的是堆里面的地址,与==一样,都是比较地址
                ==用于判断两个变量是否相等 必须指向同一个对象才是TRUE,只能比较有父子或平级关系的两个对象
     1   System.out.println(new Integer(1).equals(new Integer(1))); //true
     2           // 因为integer比较的是值,integer类重写了父类object类的equals方法
     3             //integer类重写后的方法equals方法
     4               public boolean equals(Object obj){
     5    if(obj instanceof Integer){
     6     return value == ((Integer)obj).intValue();
     7    }
     8    return false;
     9                   }
    10             System.out.println(new Object().equals(new Object())); //false            
    11         //其他的还有String类也重写了equals()方法
    12         int hashCode() // 返回该对象的哈希码值,每个对象的hashCode值不一样
    13      
    14         System.out.println(new Object().hashCode());//1599065238
    15        System.out.println(new Object().hashCode()); //1879096508
      String toString()   返回该对象的字符串表示
                以字符串的形式描述了对象的状态
            当你直接打印某个对象的时候默认的就调用了toString()方法
  • 相关阅读:
    oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件
    oracle 常用语句
    android udp 无法收到数据 (模拟器中)
    android DatagramSocket send 发送数据出错
    AtCoder ABC 128E Roadwork
    AtCoder ABC 128D equeue
    AtCoder ABC 127F Absolute Minima
    AtCoder ABC 127E Cell Distance
    CodeForces 1166E The LCMs Must be Large
    CodeForces 1166D Cute Sequences
  • 原文地址:https://www.cnblogs.com/Essence/p/3975991.html
Copyright © 2011-2022 走看看