Java常用类

JAVA学习网 2020-09-15 15:04:01
  1. Object类
    1. 简介:是所有类的直接或者间接父类,位于继承树的最顶层。假如没有显式extends某个类,默认继承Object类,否则是间接继承。Object类中的方法是所有类都具备的方法(因为继承而来)。作为参数,可以接受任何对象,作为返回值,可以返回任何对象。
    2. toString()   返回类型和哈希码值的字符串表示,不过满足不了子类的需求(比如展示子类对象的属性值),所以一般来讲需要重写
    3. hashcode()   返回该对象的哈希码值(根据对象地址使用hash算法计算出来的int类型的数值,一般来讲,一一对应,相同对象,相同哈希码值,不同对象,不同哈希码值)
    4. getClass()   返回当前对象的类型,用于判断两个引用中实际存储对象类型是否一致
    5. equals()   默认实现为this==obj,比较两个对象地址是否相同,一般来讲,子类需要比较两个对象的内容是否相同,所以也需要重写
      1. 重写步骤:比较两个引用是否指向同一个对象
      2. 判断obj是否为null
      3. 判断两个引用的指向的实际对象类型是否一致
      4. 强制类型转换
      5. 依次比较各个属性值是否相同
  2. Math类:常见的数学运算
  3. Random类:生成随机数
  4. 包装类:自1.5后,自动装箱和拆箱
    1. 什么是包装类:八种基本数据类型所对应的类
      基本数据类型 包装类型
      byte Byte
      short Short
      int Integer
      long Long
      float Float
      double Double
      boolean Boolean
      char Character
    2. 装箱:基本数据类型-->包装类型;拆箱:包装类型-->基本数据类型
    3. 装箱:
              Integer int1 = new Integer(10);
              Integer int2 = Integer.valueOf(10);
              Integer int3 = 10;
    4. 拆箱:
              int int4 = int1.intValue();
              int int5 = int2;
    5. 基本类型-->String:
              int int1 = 10;
      
              String int2 = int1 + "";
              String int3 = Integer.toString(int1);
    6. String-->基本类型
              int int4 = Integer.parseInt(int3);
    7. Integer缓冲区:[-128,127]Integer对象已经被系统创建好了,放在缓冲区
  5. Date类:
    1. Date(大部分方法已经过时)
              Date date1 = new Date();       //获取当前时间的Date对象
              long int1 = date1.getTime();   //date1时间距离1970年1月1日经过的毫秒数
    2. SimpleDateFormat
       1         //创建SimpleDateFormat对象,即时间显示格式
       2         SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
       3         //创建Date
       4         Date date = new Date();
       5         //格式化date,即date变成字符串
       6         String str = sdf.format(date);
       7         System.out.println(str);
       8         //解析str,即字符串变成date
       9         Date date1 = sdf.parse(str);
      10         System.out.println(date1.toLocaleString());

       

    3. Calendar(推荐使用)
              Calendar calendar = Calendar.getInstance();       //创建Calendar对象
              int year = calendar.get(Calendar.YEAR);           //get方法,取出各个属性
              int month = calendar.get(Calendar.MONTH);
              int day = calendar.get(Calendar.DAY_OF_MONTH);
              int hour = calendar.get(Calendar.HOUR);
              int minute = calendar.get(Calendar.MINUTE);
              int second = calendar.get(Calendar.SECOND);
              System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+":"+minute+":"+second);
      
              calendar.set(Calendar.YEAR,2000);                 //set方法,设置各个属性
      
              calendar.add(Calendar.YEAR,1);            //add方法,增加或减少属性的值(负数就是减少)
      
              Date date = calendar.getTime();                   //Calendar对象转变为Date对象
              calendar.setTime(date);                           //Date对象转变为Calendar对象

       

  6. String类,StringBuffer类,StringBuilder类
    1. String类:不可变性,字符串字面值存储在字符串池中,可以共享
      1. length()
      2. charAt(int index)
      3. contains(String str)
      4. toCharArray()
      5. indexOf(String str)   查找str首次出现的下标,若有,则返回该下标,若无,则返回-1
      6. lastIndexOf(String str)   查找str最后一次出现的下标
      7. trim()   去掉字符串前后的空格
      8. toUpperCase()
      9. endWith(String str)
      10. replace(char oldChar,char newChar)
      11. String[] split(String str)   根据str做拆分,比如Java is the best programming language用“ ”做拆分
      12. compare()   比大小
    2. StringBuffer类:可变长,相比StringBuilder,线程安全,效率慢(仍然比String高),适合多线程
    3. StringBuilder类:和StringBuffer唯一不同的是,线程不安全,效率高,适合单线程
  7. System类
    1. 获取当前时间距离1970年毫秒数
      1         long start = System.currentTimeMillis();
      2         {
      3             //……
      4         }
      5         long end = System.currentTimeMillis();
      6         System.out.println("用时:"+(end-start));
    2. 退出
              System.exit(0);
              System.out.println("end");          //此句不执行

       

阅读(2427) 评论(0)