java 基础知识3
内部类
定义在一个类里面的类
静态内部类:new 外部类名.内部类构造器
不可以访问外部类实例成员,但能访问静态成员
成员内部类:new 外部类构造器.new 内部类构造器
可以访问外部类实例成员 外部类名.this. 因为先要有外部类对象才能有成员内部类
局部内部类:放在方法,代码块,构造器等执行体中
匿名内部类:本质上是一个没有名字的局部内部类,定义在方法,代码块
写出来就相当于 new 了一个当前类型的子类型匿名内部类对象
常用API
Object
toString() 方法:返回当前对象在堆中的地址信息:类的全限定名@内存地址
equals() 方法:比较当前对象是否与另一个对象地址相同
需要子类重写,重写定义输出的信息
Objects 工具类
equals 方法:更安全,底层先会非空判断,避免空指针异常
isNull 方法:判断变量是否为 null 返回 true
StringBulider
append 方法:添加数据并返回 StringBulider 对象本身
reverse 方法:将对象内容反转
length 方法:返回对象的长度
toString 方法:将对象转换为字符串对象
字符串拼接底层就是用 StringBuilder 的 append 与 toString 实现的
Math
abs 方法:获取参数的绝对值
ceil 方法:向上取整
floor 方法:向下取整
round 方法:四舍五入
max 方法:取两个 int 值中较大的
pow 方法:返回幂结果
random 方法:返回 0.0-1.0 的随机 double 值
System
exit 方法:终止当前虚拟机的运行,非零表示异常终止
currentTimeMillis 方法:返回当前系统时间毫秒值,从 1970 01 01 到现在
arraycopy 方法:数组拷贝
BigDecimal
valueof 方法:将数据转为 BigDecimal 对象
add 方法:加
subtract 方法:减
multiply 方法:乘法
divide 方法:除法,可以规定精确的位数,舍入的方式
Data
getTime 方法:获得时间毫秒值
setTime 方法:设置当前时间毫秒值
SimpleDataFormat
format 方法:将日期或时间毫秒值格式化成指定格式的时间字符串
parse 方法:解析字符串为 Data 对象并返回,需要格式匹配
Calendar
getInstance 方法:获取当前日历对象
get 方法:获取日期中某个字段信息
set 方法:修改日期中某个字段信息
add 方法:为日期某个字段增强或减少指定值
getTime 方法:拿到此刻的 Data 对象
getTimeMillis 方法:得到此刻时间毫秒值
LocalDataTime LocalTime LocalData (都是不可变对象,方法返回的时间都是新的对象)
now 方法:获得此时当前类型对象
of 方法:指定时间创建对象
getYear 方法:获取年份
getMonthValue 方法:获得月份
getDayOfMonth 方法:获得月的第几天
getDayOfYear 方法:获得年的第几天
getDayOfWeek 方法:获得星期的第几天,返回 DayOfWeek 对象
toLocalData toLocalTime 方法:LocalDataTime 对象转为相应的对象
plusXXX 方法:向对象添加时间
minusXXX 方法:向对象减少时间
withXXX 方法:修改时间并返回新的对象
isAfter isBefore 方法:比较两个时间对象的大小
Instant
now 方法:得到 Instant 对象
可以与 Data 对象通过 from 与 toInstant 方法相互转换
DataTimeFormatter
ofPattern 方法:设置日期格式
format 方法:传入 LocalDataTime 转换为时间字符串,两者顺序可更换,format 方法结果不变
Period
between 方法:用于 LocalData 之间的比较
getYears getMonths getDays 方法: 两个时间之间的差
Duration
between 方法:用于 LocalDataTime 或 Instant 之间的比较
toDays toHours toNanos 方法: 两个时间差
ChronoUnit
between 方法:比较所有时间对象
包装类
默认值为 null ,是对象,所占内存多
自动拆箱、装箱:语法糖
正则表达式
matches 方法:判断是否与给定的正则表达式匹配返回 true
replaceAll 方法:按照正则表达式匹配内容进行替换
split 方法:按照正则表达式匹配内容进行分割字符串,返回字符串数组

Arrays
toString 方法:将数组转为字符串对象
sort 方法:对数组默认升序排序,也可以自定义比较器排序,左边大返回正整数,右边大返回负整数,相等返回 0
binarySearch 方法:二分查找数组中的数据,存在返回 索引,不存在返回 -1
二分查找:每次用中间位置数与查找的数进行比较
排序
冒泡排序:每次将数组中最大的值放到最后
选择排序:相邻两个数据比较大小,前面的大与后面交换位置
Lambda 表达式
写法:

简化函数式接口的匿名内部类的代码写法,一种语法形式
函数式接口:是接口且接口中只有一个抽象方法,一般用 @FunctionalInterface 注解修饰
参数类型可省略,只有一个参数括号也可以省略,方法体只有一行代码大括号可以省略,只有一行 return 语句 return 可省略且必须省略 ;

浙公网安备 33010602011771号