目录
一.Object
hashCode()
finalize()
二.StringBuilder
三.String
String构造方法---
1.创建空字符串
2.将字节数组转换为字符串并进行截取
3.将字符数组转换为字符串并进行截取
方法--判断---
方法--获取---
四.Arrays
五.System
六.Math
七.Date
1.构造方法 当前时间
2.设置时间戳 参数为Long类型
3.获取当前时间戳 返回值为Long
4.设置时间戳 参数为Long
5.测试此日期是否在指定日期之后/之前 返回值为布尔值
八.SimpleDateFormat类 格式化Date
1.构造方法 参数为字符串
2.将Date对象,按照设定的格式去打印显示
3.将一个字符串的日期转变成一个Date
九.Calendar
1.设置时间
2. 单个的设置
3. 设置年份
4.获取设置时间的某一节点
5.在原来时间的基础上进行加减
一.Object
Object 是类层次结构的根类,是所有类的父类,也叫基类,超类
hashCode()
获取一个
int
类型的整数值,代表哈希值,是
10
进制的表示 直接打印对象获取到的哈希值是16
进制的表示
Object ob = new Object();
System.out.println(ob);//输出结果:java.lang.Object@659e0bfd
System.out.println(ob.hashCode());//输出结果:1704856573
finalize()
是一个对象在被垃圾回收器回收时,
jvm
必定会调用的一个方法
for (int i = 0; i < 1000000; i++) {
Demo d = new Demo();
}
@Override
protected void finalize() throws Throwable { //执行结果:打印以下语句。说明语句被执行
System.out.println("------被垃圾回收了!---");
}
}
二.StringBuilder
三.String
1)String
是表示字符串的其中一个类,
java
中字符串的默认类型就是
String
2)String
表示的是一个字符序列
3
)
String
对象是不可变的
String构造方法---
1.创建空字符串
String构造方法---
1.创建空字符串
String str = new String();//创建空字符串,不是NULL,是“”
2.将字节数组转换为字符串并进行截取
byte[] bs = {97,98,99,100,101};//创建字节数组
String str1 = new String(bs);//将字节数组转换为字符串
System.out.println(str1);//输出:abcde
//截取数组中部分构造新的字符串
String str2 = new String(bs,1,2);//第二个参数:从bs[1]开始;第三个参数:在bs[2]结束
System.out.println(str2);//输出:bc
3.将字符数组转换为字符串并进行截取
char[] ch = {'a','b','c','d','e'};//创建字符数组;
String str3 = new String(ch);//将字符数组转为字符串;
System.out.println(str3);//输出:abcde
String str4 = new String(ch,0,3);//同上述字节数组
System.out.println(str4);//输出:abc
方法--判断---
String str = "hello"
1.等值判断
System.out.println(str.equals("hello"));//输出:true
2.忽略大小写(等值判断)
System.out.println(str.equalsIgnoreCase("HEllo"));//输出:true
3.判断是否包含某个子字符串 子字符串一定是连续的!
System.out.println(str.contains("el"));
4.以..开头/以..结尾
System.out.println(str.startsWith("h"));//开头 输出:true
System.out.println(str.endsWith("o"));//结尾 输出:true
5.空字符串 为“” 结果为true
System.out.println(str.isEmpty());//输出false
方法--获取---
String str = "hello"
1.获取长度 System.out.println(str.length());//输出:5 2. 获取某个下标处的字符 System.out.println(str.charAt(2));//输出:l 3.截取某个子字符串/截取某段 System.out.println(str.substring(2));//输出:l System.out.println(str.substring(2,4));//输出:ll 前包后不包 4.获取子字符串的第一次出现的下标四.Arrays
操纵数组的类。都是静态方法
int arr[] = {32,12,44,5,2};
1.复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
copyOf(byte[] original,int newLength)
//original - 要复制的数组 newLength - 要返回的副本的长度
int brr[] = Arrays.copyOf(arr,10);
2.查看数组元素
toString(int[] a)
System.out.println(Arrays.toString(brr));
3.填充数组元素
fill(int[] a,int val) 无返回值
//a - 要填充的数组 val - 要存储在数组所有元素中的值
Arrays.fill(arr,12);
4. 排序,将数组中的元素进行排序升序
sort(int[] a) 无返回值
Arrays.sort(arr);
5.实现自定义排序:想要实现对自定义类型的比较,需要自定义类型实现 Comparable接口,在重写的comparaTo方法中定义比较的规则
Student students[] = {new stu("s",)};
6.使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。
//binarySearch(int[] a,int key)
// 必须在进行此调用之前对数组进行排序(通过 sort(int[]) 方法)。
//a - 要搜索的数组 key - 要搜索的值
int a = Arrays.binarySearch(arr,12);
五.System
// 退出java系统
System.exit(0);
赋值数组
// src - 源数组。
// srcPos - 源数组中的起始位置。
// dest - 目标数组。
// destPos - 目标数据中的起始位置。
// length - 要复制的数组元素的数量
int[] arr = {5, 3, 56, 67, 3, 8, 13};
int[] arrNew = new int[10];
System.arraycopy(arr, 2, arrNew, 5, 3);
for (int i = 0; i < arrNew.length; i++) {
System.out.print(arrNew[i] + " ");
}
System.out.println();
// 获取当前时间戳 从1970年1月1日时间开始到现在经历的毫秒值
Arrays
long time = System.currentTimeMillis();
System.out.println(time / 1000 / 60 / 60 / 24 / 365);
for (int i = 0; i < 5; i++) {
System.gc();//启动垃圾回收器,但是仍然是不定时回收
new Demo();
}
}
}
class Demo {
@Override
protected void finalize() throws Throwable {
System.out.println("---被回收---");
}
}
六.Math
//abc(),返回参数的绝对值
System.out.println(Math.abs(-12));
//cbrt(),返回参数的开立方根
System.out.println(Math.cbrt(27));
//sqrt(),返回参数正平方根
System.out.println(Math.sqrt(9));
//ceil(),返回参数向上取整
System.out.println(Math.ceil(12.2));
//floor(),返回参数向下取整
System.out.println(Math.floor(10.12));
//max(int a,int b),返回a,b 的最大值
System.out.println(Math.max(12,32));
//min(int a,int b),返回a,b 的最小值
System.out.println(Math.min(12,32));
//pow(int a ,int b),返回a的b次幂
System.out.println(Math.pow(2,4));
//round(),返回参数的四舍五入的结果
System.out.println(Math.round(32.2335));
//random类
//生成[0,1)
double ran = Math.random();
七.Date
1.构造方法 当前时间
1.构造方法 当前时间
Date date1 = new Date();//输出:Fri Oct 08 10:55:15 CST 2021
System.out.println(date1);
2.设置时间戳 参数为Long类型
Date date2 = new Date(1000);
System.out.println(date2);//Thu Jan 01 08:00:01 CST 1970
3.获取当前时间戳 返回值为Long
Date date3 = new Date();
date3.getTime();
System.out.println(date3.getTime());//输出为:1633662647125
4.设置时间戳 参数为Long
Date date4 = new Date();
date4.setTime(1000);
System.out.println(date4);//输出为:Thu Jan 01 08:00:01 CST 1970
5.测试此日期是否在指定日期之后/之前 返回值为布尔值
Date date5 = new Date();
date5.after(date4);//之后
date5.before(date4);//之前
System.out.println(date5.after(date4));//输出:true
System.out.println(date5.before(date4));//输出:false
八.SimpleDateFormat类 格式化Date
1.构造方法 参数为字符串
1.构造方法 参数为字符串
SimpleDateFormat sd1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
2.将Date对象,按照设定的格式去打印显示
sd1.format(date1);
System.out.println(sd1.format(date1));//输出为:2021-10-08 11:24:21
3.将一个字符串的日期转变成一个Date
sd1.parse("2021-10-08 11:24:21");//输出为:Fri Oct 08 11:24:21 CST 2021
System.out.println(sd1.parse("2021-10-08 11:24:21"));



