一、object类
1.getclass()
2.hashcode()
public int hashcode(){}
返回对象的哈希值
哈希值指的是根据对象的地址或字符串或数字使用hash算法计算出的int 类型的数值
用于判断两个对象是不是同一个
3.toString()
public String toString(){}
与hashcode用法类似
也可以用于返回字符串
4.equals()
比较地址
对象1.epuals(对象2)
this(当前对象) == obj(用于比较的对象)
5.finalize()
垃圾回收(清除不被引用的内存占用)
二、String
字符串,是一种常量,存储在字符串池中
如果是变量定义,创建一个对象在池中
如果是new出来的,创建两个对象(一个在池,一个在堆)
引用类型在栈里,对象在堆里
当修改字符串的数值时,不是把原来的数值变成新的数值,而是在字符串池中新开辟一段空间存储新的值,变量指向新的值而不是旧的值,原数值变成垃圾等待回收
字符串共享:同一个常量值可以被两个引用类型引用
String类重写父类(Object)equals方法,因此使用他进行两个对象的比较时,比较的是值而不是地址
——————
可变字符串:(减少浪费)
StringBuffer/StringBuilder
1、append() 追加
2、insert() 添加
对象.insert(添加的初位置,添加的东西);
3、replace() 替换
对象.replace(初位置,末位置,替换的东西);
注意:含头不含尾,所以末位置-1才是被替换的最后一位
4、delete() 删除
delete(初位置,末位置);
清空全部:delete(0,对象.length());
5、转换
字符串转换成基本数据类型:
parseXXⅩ(“字符串的数值”)
基本数据类型转换成字符串
valueOf(变量名)
三、BigDecimal
因为double和float都是近似值,没法进行正确计算,所以使用BigDecimal精确计算浮点数
必须使用字符串
import java.math.BigDecimal;
加法:add
减法:substract
乘法:multiply
除法:divide(BigDecimal bd,int scal指定取舍的位数,RoundingMode mode指定小数的取舍模式)
ROUND_HALF_UP:四舍五入
四、Calendar
import java.util.Calendar;
import java.util.Date;
public class TestCalendar {
public static void main(String[] args) {
//创建对象获取时间
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
//获取时间信息 年月日
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
//月份从零开始,所以要获得正确的月份得+1
System.out.println(calendar.get(Calendar.DATE));
//修改时间
Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.DATE,20); //把天改成20
System.out.println(calendar2.getTime().toLocaleString());
//add增加时间
calendar2.add(Calendar.MINUTE,10);
System.out.println(calendar2.getTime().toLocaleString());
//获取最大/最小值
//获取本月最大值
System.out.println(calendar2.getActualMaximum(Calendar.DAY_OF_MONTH));
//获取最小值
System.out.println(calendar2.getActualMinimum(Calendar.DAY_OF_MONTH));
}
}
四、SimpleDateFormat
格式化:日期变文本 format
解析:文本变日期 parse
yyyy:年 MM:月 dd:日 hh:1-12小时 HH:24小时制 mm:分 ss:秒
import java.util.Date;
import java.text.SimpleDateFormat;
public class TestSimpleDateFormat {
public static void main(String[] args) {
//创建Date
Date ss = new Date();
//创建SimpleDateFormat对象,设定时间的格式
SimpleDateFormat fd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = fd.format(ss); //格式化
System.out.println("格式化结果:"+time);
}
}
五、System
1、arraycopy() 数组复制
public class ArrayCopy {
public static void main(String[] args){
int[] arr0 = {13,2,54,61,20};
int[] arr1 = new int[7]; //定义一个数组
// 原数组,复制的起始位置,目标数组,目标数组起始位置,复制长度
System.arraycopy(arr0,0,arr1,0,arr0.length);
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
}
}
2、currentTimeMills() 获取时间(毫秒)
public class Time {
public static void main(String[] args) {
long start = System.currentTimeMillis();
for (int i = 0; i < 900; i++) {
for (int j = 0; j < 100; j++) {
int result = i*j;
}
}
long end = System.currentTimeMillis();
System.out.println(end-start); //得到计算for循环所用的时间
}
}
3、gc() 提醒回收垃圾