Java基础知识总结梳理(三)
接着梳理接着写
- 枚举
- 基本介绍
- 枚举是一组常量的集合
- 枚举属于一种特殊的类,里面只包含了一组有限的特定的对象
- 枚举对象值通常为只读
- 枚举对象/属性使用static+final共同修饰
- 枚举对象名通常使用全部大写
- 枚举类使用细节
- 使用enum关键字后,就不能再继承其他类了,因为enum会隐式继承Enum
- 枚举类和普通类一样,可以实现接口
- 枚举类中有几个枚举常量,调用枚举类就会常见对应个数的对象实例
- 范型
-
范型的作用
可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方法的返回值的类型,或者是参数类型 -
范型语法
E - Element (在集合中使用,因为集合中存放的是元素)
T - Type(Java 类)
K - Key(键)
V - Value(值)
N - Number(数值类型)
? - 表示不确定的 java 类型- 范型类型只能是引用类型
- 可以传入该类型或者其子类类型
-
自定义范型
-
范型类
public class 类名<范型类型1......>
-
范型接口
public interface 接口名<范型类型......>
-
范型方法
public <范型类型> 返回类型 方法名(范型类型)
-
-
范型继承和通配符
- 范型不具备继承性
- <?>:支持任意范型类型
- <? extends A>: 支持A类以及A类的子类,规定了范型的上限
- <? super A>: 支持A类以及A类的父类,不限于直接父类,规定了范型的下限
- 常用类
- String类
- String是一个final类,代表不可变的字符序列
- 字符串是不可变的,一个字符对象一旦被分配,其内容是不可变的
- 字符串重要规则:常量相加,看的是变量池;变量相加,是在堆中
- 常用方法:equals(); equalsIgnoreCase(); length(); indexOf(); lastIndexOf(); substring(); trim(); charAt(); toUppercase(); toLowerCase(); concat(); replace(); split(); compareTo(); toCharArray(); format()…
- StringBuffer类
- 可变的字符序列,可以对字符串内容进行增删
- StringBuffer(),初始化容量为16个字符
- StringBuffer(String str),初始容量为str.length+16
- 扩容机制:每次扩容都会调用Arrays类中的CopyOf()方法,扩容后大小为原来的2倍加2
- 线程安全
- 常用方法:append(); delete(start,end); replace(start,end,string); indexOf(String str); insert(); length()…
- StringBuilder类
- 可变字符序列
- 线程不安全,效率高
- Math类
- 常用方法:abs(); pow(); ceil(); floor(); round(); sqrt(); random(); max(); min()…
- Arrays类
- 常用方法: toString(); sort(); binarySearch(); copyOf(); fill(); equals(); asList()…
- System类
- 常用方法:exit(); arraycopy(); currentTimeMillens(); gc()…
- 日期类
- Date SimpleDateFormat:格式和解析日期
- Calendar Calendar是一个抽象类,并且构造器是private;可以通过getInstance()来获取实例
- LocalDate
- LocalTime
- LocalDateTime
参考资料:
【1】https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.337.search-card.all.click&vd_source=dd9bdf6f42e38406b07ef92b986e8171