Java基础复习笔记 第11章:常用类与基础API

发布于:2024-05-17 ⋅ 阅读:(146) ⋅ 点赞:(0)

1、String

  • String的声明:final 、实现Comparable接口等
  • String内部的属性:final char[] value (jdk8中);final byte[] value(jdk9中)
  • String的声明方式1:使用字面量的方式。需要使用字符串常量池。
  • String的不可变性
  • String的声明方式2:new
  • String的特殊运算: +
    • 常量 + 常量;变量+ 常量 ; 变量+变量;concat();intern()
  • String的构造器、常用方法

2、与String相关的类:StringBuffer、StringBuilder

  • String、StringBuffer、StringBuilder三个的异同。
  • StringBuffer、StringBuilder的常用方法:增、删、改、查、插、长度、反转
  • 三者添加数据方面的执行效率:StringBuilder > StringBuffer > String

3、比较器

开发中只要涉及到对象比较大小,都跟比较器打交道。

3.1 自然排序:Comparable
实现步骤:
1. 待排序的对象所说的类要实现Comaprable接口
2. 实现接口中的抽象方法:compareTo(Object obj),指明比较大小的规则
3. 创建待排序的多个对象,在相关的逻辑下进行排序操作即可。比如:Arrays.sort(Object[] objs)
3.2 定制排序:Comparator
实现步骤:
1. 创建一个实现了Comparator接口的类SubComparator
2. 此SubComparator类重写compare(Object o1,Object o2)
   此方法中指明要比较类A的实例对象o1,o2的大小。
3. 创建多个类A的对象,在相关的逻辑下进行排序操作即可。比如:Arrays.sort(A[] objs,SubComparator的对象)
对比两种方式:

Comparable:在声明好类的同时,就指明了默认的排序的方式。
           一旦声明,一劳永逸

Comparator: 比较灵活,可以在需要的具体场景下,灵活的指定排序的方式。
           每次在需要的时候,都得现创建一个Comparator实现类的对象。

4、日期时间相关的API

4.1 jdk8之前相关API
  • System的currentTimeMillis()
  • java.util.Date 和 java.sql.Date
    • getTime() \ toString()
  • SimpleDateFormat:用来格式化、解析日期
    • 格式化:String format(Date date)
    • 解析:Date parse(String str)
  • Calendar:日历类,抽象类
    • 实例化:getInstance()
    • 方法:get(int field) 、set(int field,...)、add(...),Date getTime() 、 setTime(Date date)
4.2 jdk8新增的API
  • LocalDate、LocalTime、LocalDateTime --> 类似于Calendar
  • Instant : 瞬时 ---> 类似于Date
  • DateTimeFormatter :类似于SimpleDateFormat。针对LocalDate、LocalTime、LocalDateTime的格式化或解析操作

5、其他api的使用

1. System类
2. Runtime类:单例设计模式,对应着一个java进程中运行时内存环境。
3. Math类:跟数学操作相关的api

4. BigInteger类和BigDecimal类
BigInteger类:如果在程序中,需要使用的整型数据超出了long的范围(最大值为2^63 -1 ),则可以使用BigInteger替换,
             可以表示任意精度范围的整数。
BigDecimal类:如果在程序中,想表示任意精度的浮点型值,则使用BigDecimal类替换double的使用。

5. Random类

网站公告

今日签到

点亮在社区的每一天
去签到