常用API
1.String
常用构造方法
方法名 | 说明 |
public String() | 初始化新创建的 String对象,以使其表示空字符序列. |
public String(byte[] byte) | 创建 String 对象,并将 byte 数组中的数转换为ASCII 码中对应的字符,再转换为字符串 |
public String(char[] char) | 分配一个新的String以便它表示当前包含在字符数组参数中的字符序列。 字符数组的内容被复制; 字符数组的后续修改不会影响新创建的字符串 |
public String(String orignal) | 初始化新创建的String对象,使其表示与参数相同的字符序列;换句话说,新创建的字符串是参数字符串的副本。 |
String s = "abc" | 将 “abc” 对象地址赋值给 s |
#### 通过new 出来的字符串对象和通过直接双引号赋值的对象有什么区别?
+ new出来的,会有两个对象
+ 直接双引号赋值的只有一个本身的对象
### 常用成员方法
方法名 | 说明 |
public boolean equals(Object obj) | 将此字符串与指定对象进行比较。 |
public boolean equalsIgnoreCase(String another) | 将此 String与另一个 String比较,忽略大小写 |
public char charAt(int index) | 返回指定索引位置的 char 值 |
public int length() | 返回此字符串 长度 |
public char[] toCharArray() | 将此字符串转换为新的字符数组。 |
public String substring(int beginindex) | 返回一个字符串(直到字符串的结尾,包括结尾) |
public String substring(int begin,int end) | 返回一个字符串 (包头不包尾) [a,b) |
public String toUpperCase() | 将此字符串转换大写的,并返回新的字符串,原来的不会变 |
public String toLowerCase() | 将此字符串转换为小写的,并返回新的字符串,原来的不会变 |
public String trim() | 返回此字符串,并删除任何前导和尾随 空格 |
public int indexOf(int ch) (String str) | 返回指定 字符 第一次出现的字符串内的索引。未找到则返回 -1 |
public String replace(char oldChar, char newChar) | 返回从替换所有出现的字符串 oldChar 为字符串 newChar 。返回新的字符串,原来的不会变 |
public String[] split(String regex) | 按照给定正则表达式 |
#### 对字符串来说,值为null 和 "" 有什么区别
+ null是一个字面值常量
+ "" 是一个空串,是一个对象,可以调用方法
2.StringBuilder
常用构造方法
- public StringBuilder()
- public StringBuilder(String str)
常用成员方法
方法名 | 说明 |
public StringBuilder append(任意类型 参数) | 将参数追加到字符串缓冲区里 |
public int length() | 返回长度(字符数)。 |
public StringBuilder reverse() | 返回 反转 后的字符串缓冲区 |
public String toString() | 返回表示此顺序中的数据的字符串。 |
### String 和 StringBuilder 的相互转换
+ StringBuilder ——> String
+ toString()
+ String ——> StringBuilder
+ StringBuilder sb = new StringBuilder("abcde");
## 3.Math
+ 数学工具类
+ 一般工具类都不会提供构造方法,并将所有方法设置为静态方法
+ 可以通过类名直接调用
方法名 | 说明 |
public static int abs(int a) | 返回参数类型 的绝对值 |
public static double ceil(double a) | 返回大于或等于参数的最小double值,向上取整 |
public static double floor(double a) | 返回小于或等于参数的最小double值,向下取整 |
public static int round(float a) | 按照四舍五入返回最接近参数的int |
public static int max(int a,int b) | 返回两个int值中的较大值 |
public static int min(int a,int b) | 返回两个int值中的较大值 |
public static double pow(double a,double b) | 返回a的b次幂的值 |
public static double random() | 返回值为double的随机正值,[0.0,1.0) |
## 4.System
+ 系统工具类
方法名 | 说明 |
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) | 将指定源数组中的数组从指定位置复制到目标数组的指定位置。 |
public static void exit(int status) | 终止当前运行的Java虚拟机,非0 表示异常终止 |
public static long currentTimeMillis() | 返回当前时间(以毫秒为单位) |
## 5.Object
+ Object 类是所有Java类的超类
+ 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类
方法名 | 说明 |
public String toString() | 返回对象的字符串表示形式,建议所有子类重写该方法 |
public boolean equals(Object obj) | 比较对象是否相等。默认比较地址,重写可以比较内容 |
### 对象的比较 —— == 和 equals()
+ **==**:
+ 比较两基本类型变量的**值**是否相等
+ 比较两个引用类型的值即**内存地址**是否相等,即是否指向同一对象。
+ **equals()** :
+ 两对象的**内容**是否一致
+ 示例
+ object1.equals(object2) 如:p1.equals(p2)
+ 比较所指对象的内容是否一样
+ 是比较两个对象,而非两个基本数据类型的变量
+ object1 == object2 如:p1==p2
+ 比较p1和p2的值即内存地址是否相等,即是否是指向同一对象。
+ **自定义类须重写equals(),否则其对象比较总是地址值**。
## 6.Arrays
### 冒泡排序
+ 排序
+ 将一组数据按照固定的规则进行排列
+ 冒泡排序
+ 对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,一次对所有的数据进行操作,直至所有数据按要求完成排序
+ 若有 n 个数据进行排序,总共要比较 n-1次
+ 每一次比较完毕,下一次的比较就会少一个数据参与
### Arrays 类
+ 包含用于操作数据的各种方法
方法名 | 说明 |
public static String toString() | 返回指定数组的内容的字符串表示形式 |
public static void sort(int[] a) | 按照数字顺序排列指定的数组 |
工具类的设计思想
- 构造方法用private修饰
- 成员用public static修饰