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);
    
  • 构造器

    • 没有空参构造器

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

  • 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);
    

包装类常用方法

日期类

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());//这个方法是静态的可以直接调用
    

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());
        
      • 向下转型

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

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

    Date date4 = Date.valueOf("2022-10-15");
    

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);
    

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

可变与不可变的含义

  • 不可变
    • 在地址不改变的情况下,想要把一个字符串变成另外一个字符串是不能的
posted @   理想还很年轻  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示