他的回复:
华为云ID:wq765416999 + 第7周笔记 ## Java常用类### 字符串类的分析和使用1. String类的分析:String类的底层使用char的数组保存数据。String类是一个final类,不允许被继承。String类是一个不可变类,该类的对象生成后,内容不会发生变化。String类中的所有返回String类型对象的成员方法都是返回一个新的String对象。2. String类的比较: - String类重写了equals方法,用来比较两个字符串的内容是否相同。 - ==比较的是两个字符串对象的地址,即是否为同一个对象3. StringBuffer类和StringBuilder类 - StringBuffer又称为可变字符序列,它是一个类似于String的字符串缓冲区,可以改变该序列的长度和内容。StringBuffer是同步安全的。 - StringBuilder类也是字符串缓冲区,非同步安全。4. String、StringBuffer、StringBuilder三者的区别 1. String是内容不可变的。 2. StringBuffer、StringBuilder都是内容可变的。 3. StringBuffer是同步的,数据安全,效率低。 4. StringBuilder是不同步的,数据不安全,效率高。### Java常用类#### System类1. System类代表系统,系统级的很多属性和控制方法都放置在该类的内部,该类位于java.lang包。System中包含了in、out和err三个成员变量,分别代表标准输入流、标准输出流和标准错误输出流。2. System中常用的方法: - System.arraycopy(a,b,c,d,e):其中a是被复制的数组,b是复制的起始位置,c是复制到的数组,d是复制到这个数组的起始位置,e是复制到这个数组的结束位置。 - System.currentTimeMillis():返回毫秒数,这个就比较简单了,和Date类中的getTime方法一样。 - getProperty():获取系统属性。#### CharSequence类- CharSequence是一个接口,表示char值的一个可读序列,此接口对许多不同种类的char序列提供统一的自读访问。- CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而string的值是只读序列。#### Runtime类- Runtime类封装了运行时的环境,每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。Runtime类通过totalMemory()和freeMemory()方法可以知道对象的堆内存有多大,还剩多少。#### Cleaner类- Cleaner负责清理对象,替代finialize()方法,Cleaner是在JDK1.9之后才提供的一个对象清理操作。#### 克隆:复制一个一模一样的对象出来。- clone()这个方法是从Object继承下来的,一个对象要实现克隆,需要实现一个叫做Cloneable的接口,实现了这个接口就能实现克隆操作。克隆分深度克隆和浅度克隆。 - 深度克隆:复制对象本身的同时,也复制对象包含的引用指向的对象,即修改被克隆对象的任何属性都不会影响到克隆出来的对象。 - 浅度克隆:复制对象时仅仅复制对象本身,包括基本属性,但该对象的属性引用其他对象时,该引用对象不会被复制,即拷贝出来的对象与被拷贝出来的对象中的属性引用的对象是同一个。#### Math数学类- Math类中包含基本的数字操作,如指数、对数、平方根和三角函数。Math类中包含E和PI两个静态常量,以及进行科学计算的类方法,可以直接通过类名调用。#### 随机数类- Random类用于产生随机数。Random.nextlnt(int bound):随机生成[0,bound)之间的整数。注意是左开右闭区间,可能取到0,不能取到bound的值。#### 科学精确计算类- BigDecimal是一个不变的、任意精度的有符号的十进制数对象。#### 日期处理类- Date类和Calendar类都是关于日期的类,都在java.util包中。java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时间,精确到毫秒。java.util.Calendar类是抽象类,无法实例化。Java8新增java.time用于日期、时间处理。#### UUID类- UUID全称: Universally Unique ldentifier缩写,即通用唯一识别码。UUID产生的目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定,每个人都可以创建不与其他人冲突的UUID。#### Hutool类- Hutool是一个小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以简单易用。