常用API
MATH

System

Runtime

Object和Objects
Object
1.Object是java中的顶级父类,所有的类都直接或间接的继承于Object类
2.Object类中的方法可以被所有子类访问
3.Objet类中没有成员变量,因此只有一个空参构造方法
成员方法

1.toString()
当我们打印一个对象的时候。底层会调用对象的toString方法。把对象变成字符串。然后再打印在控制台上,打印完毕换行处理。
默认情况下,因为Object类中的toString方法返回的是地址值,所以默认情况下打印一个对象打印的就是地址值,但是地址值对于我们是没什么意义的,如果要看到对象内部的属性值,应该重写Object类中的toString方法
2.equals()
如果没有重写equals方法,那么默认使用Object中的方法进行比较,比较的是地址值是否相等。一般来讲地址值对于我们意义不大,所以我们会重写,重写之后比较的就是对象内部的属性值了。
3.clone()
方法在底层会帮我们创建一个对象,并把原对象中的数据拷贝过去。
书写细节:
- 重写Object中的clone方法
- 让javabean类实现Cloneable接口
- 创建原对象并调用clone
深克隆和浅克隆:
浅克隆:不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来(引用拷贝地址值),是Object中的默认方式
深克隆:基本数据类型拷贝过来,字符串复用,引用数据类型重新创建新的空间拷贝数据后返回新地址值,需要重写clone方法
BigInteger
构造方法
对象一旦被创建数据不能被修改
1.获取指定的大整数细节:字符串中的数字必须是整数
2.获取指定进制的大整数细节:
字符串中的数字必须是整数;
字符串中的数字必须要跟进制吻合。
比如二进制中,那么只能写0和1,写其他的就报错。
3.public static BigInteger valueOf(1ong val)
静态方法获取BigInteger的对象,内部有优化
细节:
1.能表示范围比较小,只能在long的取值范围之内,如果超出long的范围就不行了
2.在内部对常用的数字:-16 ~ 16进行了优化。
提前把-16 ~ 16 先创建好BigInteger的对象,如果多次获取不会重新创建新的。
成员方法

底层存储方式
通过数组分段,分别表示符号,基数和次幂
最大可以是42亿的21亿次方
BigDecimal
创建方法
表示较大的小数和解决小数运算精度失真的问题
1 | //通过传递double类型的小数来创建对象,可能是不精确的,不建议使用 |
成员方法

底层存储方式
遍历字符串,得到每一个数字和小数点代表的ASKII码,存入一个数组中
正则表达式
1.检验字符串是否满足规则
2.在一段文本中查找满足要求的内容
注意:
1.如果要求两个范围的交集,要写”&&“,如果只写一个,表示的仅仅是”&“这个符号
2."\"是转义字符
爬虫
1 | //获取正则表达式的对象 |
正则表达式在字符串方法中的使用

分组
可以复用前面已经有的正则表达式
1.每组是有组号的,也就是序号。从1开始,连续不间断。
2.以左括号为基准,最左边的是第一组,其次为第二组,以此类推。
3.\\组号: 表示把第x组的内容再用一次
时间
Date
Date类是一个JDK写好的Javabean类,用来描述时间,精确到毫秒。利用空参构造创建的对象,默认表示系统当前时间。
利用有参构造创建的对象,表示指定的时间。
SimpleDateFormat

Calender


包装类
为了将基本数据类型转化为对象,提出了包装类的概念,其本质是在堆内存中开辟了一块空间,用来存储基本数据类型的值,而把这块空间的地址值传递给包装类对象,这样做可以使所有的数据类型都可以视为对象,是object的子类,排除了代码的局限性,此外,集合的泛型中也需要传递包装类
获取包装类对象的方法(以Integer为例)

Integer成员方法
