• JavaSE中级之Java常用的类


    Java常用的类一

    包装类

    什么是包装类

    • 将基本数据类型进行封装,产生的新的类
    • 包装类是个引用数据类型
    • 对应关系
    基本数据类型对应包装类继承关系
    byteByteNumber.Object
    shortShortNumber.Object
    intIntegerNumber.Object
    longLongNumber.Object
    floatFloatNumber.Object
    doubleDoubleNumber.Object
    charCharcterObject
    booleanBooleanObject

    为什么会有包装类

    • Java语言是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型
    • 包装类相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作

    包装类常用属性和构造器

    以Integer为例
    • 直接使用无需导包

    • 继承关系

      • Integer继承自Number,Number继承自Object
    • 实现接口类

      • Serializable
      • Comparable
    • 被final修饰不有子类,也就不能被继承

    • 包装类是对基本数据类型的封装

    • Integer是对基本数据类型int进行封装所产生的类

    • 属性

              System.out.println(Integer.MAX_VALUE);
              System.out.println(Integer.MIN_VALUE);
      
              System.out.println(Integer.MAX_VALUE+1);
              System.out.println(Integer.MIN_VALUE-1);
      
      • 1
      • 2
      • 3
      • 4
      • 5
    • 构造器

      • 没有空参构造器

    包装类的特殊机制——自动装箱,自动拆箱

    • JDK1.5之后的新特性

    • 将基本数据类型与包装类进行快速的类型转换

      //自动装箱  int转Integer
      Integer i = 22;
       System.out.println(i);
      //自动拆箱  Integer转int
      int i1 = new Integer(22);
      int num = i1;
       System.out.println(num);
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

    包装类常用方法

    日期类

    java.util.Date
    • 获取时间差建议使用currentTimeMillis

    • Date date = new Date();
              System.out.println(date);
              System.out.println(date.toString());
              System.out.println(date.toGMTString());
              System.out.println(date.toLocaleString());
      
              System.out.println(date.getYear());//1900年到现在过了多少年
              System.out.println(date.getMonth());//返回0到11之间的数,0代表1月份,后面的以此类推
              //获取时间差
              //获取时间差建议使用currentTimeMillis
              System.out.println(date.getTime());//返回1970年1月1日0点0分0秒到现在的毫秒数
              System.out.println(System.currentTimeMillis());//这个方法是静态的可以直接调用
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    java.sql.Date
    • java.util.Date 与 java.sql.Date 的区别

      • java.util.Date 有年月日时分秒
      • java.sql.Date 只有年月日
    • java.util.Date 与 java.sql.Date 的联系

      • 是父类和子类的关系
      • java.sql.Date是子类,继承java.util.Date这个父类
    • java.util.Date 与 java.sql.Date 的相互转换

      • util转sql

        • 利用构造器

          //创建util.Date对象
          java.util.Date date = new Date(1567434342L);
          Date date1  = new Date(date.getTime());
          
          • 1
          • 2
          • 3
        • 向下转型

          Date date2 = (Date) date;
          
          • 1
      • sql转util

        java.util.Date date3 = da;
        
        • 1
    • String 转 sql.Date

      Date date4 = Date.valueOf("2022-10-15");
      
      • 1
    SimpleDateFormat
    • SimpleDateFormat 是 DateFormat的子类,SimpleDateFormat 继承自DateFormat

       /* //这种方法会报错,有局限性
             //1.讲String转换为java.sql.Date
              java.sql.Date date = java.sql.Date.valueOf("2022-10-15");
              //2.讲java.sql.Date转换为java.util.Date
              java.util.Date date1 = date;*/
              DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              try {
                  Date date = dateFormat.parse("2022-10-15 15:45:36");
                  System.out.println(date);
              } catch (ParseException e) {
                  e.printStackTrace();
              }
              String met = dateFormat.format(new Date());
              System.out.println(met);
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
    Calendar
    • Calendar是一个抽象类,不能直接创建对象

    JDK1.8新增日期类

    LocalDate,LocalTime,LocalDateTime
    now()方法
    • LocalDate.now() 获取当前日期
    • LocalTime.now() 获取当前时间
    • LocalDateTime.now() 获取当前日期+时间
    of()方法
    • LocalDate.of() 设置当前日期
    • LocalTime.of() 设置当前时间
    • LocalDateTime.of() 设置当前日期+时间
    get方法 :得到
    with方法 :更改时间
    DateTimeFormatter
    • 格式转换类

    Math类

    • 被final修饰,不能被继承
    • 构造器私有化不能创建对象
    • 所有属性和方法都被static修饰,可以通过类名直接调用,不需要创建对象

    Random类

    • 随机数
    • 表面是调用无参构造器其实调用的是带有参数的构造器

    不可变字符串类型:String类

    • 本身就是一个char类型的数组
    length()
    • 返回字符串长度
    isEmpty()
    • 判断字符串是否为空
    charAt()
    • 返回当前数组当前下标所对应的值
    equals()
    compareTo()
    • 进行字符串的差值比较
    substring()
    • 对字符串进行截取
    replace()
    • 对字符串中的进行字符替换
    split()
    • 按照指定格式对字符串进行分离
    toUpperCase()
    • 大小写转换
    trim()
    • 去除首位空格

    可变字符串:StringBuilder

    可变与不可变的含义

    • 不可变
      • 在地址不改变的情况下,想要把一个字符串变成另外一个字符串是不能的
  • 相关阅读:
    React Router 路由守卫
    贪心算法之Kruskal
    【vue3-element-admin】ESLint+Prettier+Stylelint+EditorConfig 约束和统一前端代码规范
    Java复习-20-接口(2)- 工厂设计模式
    自动驾驶学习笔记(六)——Apollo安装
    Centos7,yum安装mysql
    【C语言】联合(共用体)
    【Linux】静态库与共享库
    OpenCV读取图片
    vue-quill-editor 富文本编辑器上传视频
  • 原文地址:https://blog.csdn.net/weixin_54212148/article/details/127406127