目录
3.3.2 equals(Object o) 判断两个对象是否相等
4.3.2 isNull判断对象是否为null,为null返回true,反之
4.3.3 nonNull判断对象是否不为null,不为null返回true,反之
6.3.1 append 添加数据并返回StringBuilder对象本身
6.3.4 toString 通过toString()把实现的StringBuilder转换成String
6.3.5 StringBuilder的好处(对比String)
前言:前面语法学完,现在就是学习高级java的API使用,掌握越多,能力越强
1 概述
2 常用API图
3 API - Object类
3.1 作用
3.2 API说明
3.3 Object常见方法
3.3.1 toString 返回对象的字符串表示形式
在实体类重写toString方法(tos回车快捷生成)
3.3.2 equals(Object o) 判断两个对象是否相等
重写equals方法比较两个对象的内容一样就返回true。(原始的是比较地址是否相等)
在实体类输入eq 回车 回车。。。
3.3.3 clone() 对象克隆
implements
u1.clone() alt + enter 抛出异常
实体类输入clone 回车(重写clone方法)
克隆结果
3.3.3.1 浅克隆
3.3.3.2 深克隆
将上面的浅拷贝改成深拷贝
4、API - Objects类
4.1 作用
4.2 API说明
4.3 Objects常见方法
4.3.1 equals先做非空判断,再比较两个对象
4.3.2 isNull判断对象是否为null,为null返回true,反之
4.3.3 nonNull判断对象是否不为null,不为null返回true,反之
5 API - 包装类
5.1 作用
5.2 API说明
以Integer为例:
5.3 包装类常见方法
5.3.1 Integer
5.3.1.1 自动装箱和自动拆箱
5.3.1.2 解决泛型和集合不支撑基本数据类型问题
5.3.2 包装类的其他常见操作
推荐使用valueOf不推荐parseDouble
6 API - StringBuilder
6.1 作用
6.2 API说明
6.3 StringBuilder常见方法
6.3.1 append 添加数据并返回StringBuilder对象本身
6.3.2 reverse 将对象的内容反转
6.3.3 length 返回对象内容长度
6.3.4 toString 通过toString()把实现的StringBuilder转换成String
6.3.5 StringBuilder的好处(对比String)
性能提升
6.3.6 案例
package com.runa.staticdemo;
public class TestStringBuilger {
public static void main(String[] args) {
System.out.println(getArrayData(new int[]{11, 22, 33}));
}
public static String getArrayData(int[] arr){
// 1 判断arr 是否为null
if(arr == null){
return null;
}
// 2 arr 数组对象存在,arr = [11, 2, 3]
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if(i == arr.length - 1){
sb.append(arr[i]);
}else{
sb.append(arr[i]).append(", ");
}
}
sb.append("]");
return sb.toString();
}
}
7 API - StringBuffer
8 API - StringJoiner
8.1 作用
8.2 API说明
略
8.3 StringJoiner常见方法
8.3.1 add 添加数据,并返回对象本身
package com.runa.staticdemo;
import java.util.StringJoiner;
public class TestStringJoiner {
public static void main(String[] args) {
StringJoiner s = new StringJoiner(", ");
s.add("java");
s.add("python");
s.add("c++");
System.out.println(s);
}
}
执行结果:
java, python, c++
package com.runa.staticdemo;
import java.util.StringJoiner;
public class TestStringJoiner {
public static void main(String[] args) {
StringJoiner s = new StringJoiner(", ","[","]");
s.add("java");
s.add("python");
s.add("c++");
System.out.println(s);
}
}
执行结果:
[java, python, c++]
8.3.2 优化6.3.6案例
注意 + ""
package com.runa.staticdemo;
import java.util.StringJoiner;
public class TestStringJoiner {
public static void main(String[] args) {
System.out.println(getArrayData(new int[]{11, 22, 33}));
}
public static String getArrayData(int[] arr){
// 1 判断arr 是否为null
if(arr == null){
return null;
}
// 2 arr 数组对象存在,arr = [11, 2, 3]
StringJoiner s = new StringJoiner(", ","[","]");
for (int i = 0; i < arr.length; i++) {
s.add(arr[i] + ""); // +""目的是变成字符串
}
return s.toString();
}
}