1. Object类
- java.lang.Object是java语言中的根类
- 每个类都使用Object作为父类
- 任何一个对象都可以使用Object类中的方法
1.1 toString方法
public String toString()
:返回该对象的字符串表示
- 默认地址值:字符串的内容就是对象的类型+@+内存地址值
- 所以需要重写,自动重写
1.2 equals方法
pubic boolean equals(Object oject)
:其他某个对象是否与此对象相等
-
默认地址比较:若没有重写覆盖equals方法,那么默认进行“==”地址值的比较
-
重写进行对象内容比较:所以需要重写覆盖equals方法,进行内容的比较
注意:1. 空(null)不能调用equals()方法
2. Object的equals方法容易抛出空指针异常
1.3 Objects类
- Objects由一些静态的使用方法组成,他是
null-save空指针安全的
或null-tolerant容忍空指针的
, - 他用于 计算对象的
hashcode
、返回对象的字符串表示形式、比较俩个对象
public static noolean equals(Object a,Object b)
:判断俩个对象是否相等
2 日期时间类
2.1Date类
java.Util.Date
表示特定的瞬间,精确到毫秒
方法
public Date()
:获取当前系统的日期时间public Date(long date)
:传递毫秒值,把毫秒值转换为Date日期public long getTime()
:把日期对象转换成对应的时间毫秒值从1970年1月1日
2.2 DateFormat类 抽象类
java.text.DateFormat
是日期/时间格式化子类的抽象类,可以进行日期和文本的转换,即Date和String之间的转换
- 格式化:按照指定的格式,Data--->String
- 解析:按照指定的格式,String--->Date
构造方法
DateFormat为抽象类。不能直接使用,所以需要子类java.text.SimpleDateFormat
public SimpleDateFormat(String pattern)
:用给定的模式和语言环境的日期格式符号构造SimpleDateFormat。
格式规则:
# System类
常用方法
public String format(Date date)
:将Date对象格式化为字符串文本public Date parse(String source)
:将字符串解析为Date对象- parse方法声明了一个异常叫parseException,如果字符串和构造方法的模式不一样,那么程序就会出现此异常
- 调用一个抛出异常的方法,必须处理异常,要么throws,要么try catch
- throws 在异常的方法下 alt+Enter,选择第一个,声明异常即可,若有错误,则继续抛出异常
2.3 Calendar类
java.Util.Calendar
:日历类,在Date后面,替换掉了许多Date的方法。日历方便获取各个时间属性
- Calendar中的变量都是静态变量,所以需要使用类名访问变量
Calendar.YEAR
获取方式
Calendar为抽象类,且需要通过静态方法创建,然后返回子类对象
public static Calendar getInstance()
:获得一个日历
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
System.out.println(calendar);
}
常用方法
public int get(int field)
:返回给定日历字段的值public void set(int field,int value)
:设置给定日历字段的值 可以同时设置年月日public abstract void add(int field,int amount)
:根据日历的规则,为给定的日历字段添加或减去指定的时间量 正数为加 负数为减public Date getTime()
:返回一个表示此Calendar的时间值的Date对象
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR)+"年");
//输出:2020年
calendar.set(Calendar.YEAR, 2021);
System.out.println(calendar.get(Calendar.YEAR)+"年");
//输出:2021年
calendar.add(Calendar.YEAR,-2);
System.out.println(calendar.get(Calendar.YEAR) + "年");
//输出:2019年
Date date=calendar.getTime();
System.out.println(date);
//输出:Tue Oct 08 10:31:46 CST 2019
注意:
- 在Calendar类中,月份表示是以0-11代表1-12月
3 System类
java.lang.System
提供大量静态方法,可以获取与系统相关的信息或系统级操作。
public static long currentTimeMillis()
:返回以毫秒为单位的当前时间
public static void main(String[] args) {
//用System获取当前时间毫秒值
System.out.println(System.currentTimeMillis());
//用日期获取毫秒值
Date date=new Date();
System.out.println(date.getTime());
}
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
:将数组中指定的数据拷贝到另一个数组中
src | Object | 原数组 |
srcPos | int | 原数组索引起起始位置 |
dest | Object | 目标数组 |
destPos | int | 目标数组索引索引起始位置 |
length | int | 复制元素个数 |
public static void main(String[] args) {
int[] src=new int[]{1,2,3,4,5};
int[] dest=new int[]{6,7,8,9,10};
System.arraycopy(src,1,dest,3,2);
for (int i = 0; i < dest.length; i++) {
System.out.println(dest[i]);
}
}
4 StringBuilder类
- 由于字符串String是常量,它的内容不可改变,所以在进行字符串拼接时,总会在内存中创建一个新的对象。
- 所以StringBuilder就是解决这一问题的
String s="Hello";
s+="World";
sout(s);
概述
java.lang.StringBuilder
:可变字符序列。是一个类似于STring的字符串缓冲区,通过方法调用可以改变该序列的长度和内容。- SrtringBuilder是字符缓冲区,是一个容器,可以装很多字符串,并且能对字符串进行操作。
- 他内部有数组来存放字符串的内容,在拼接时,直接在数组中加入新内容,StringBuilder会自动扩充数组内容。
构造方法
public StringBuilder()
:构造一个空的StringBuilderpublic StringBuilder(String str)
:构造一个StringBuilder,并将字符串添加进去
public static void main(String[] args) {
StringBuilder stringBuilder=new StringBuilder();
stringBuilder.append(456);
System.out.println(stringBuilder);
//输出 :456
StringBuilder stringBuilder1=new StringBuilder("abc");
stringBuilder1.append(123);
System.out.println(stringBuilder1);
//输出:abc456
}
常用方法
public StringBuilder append(...)
:添加任意类型的字符串 int char float等等 返回对象自身public String toString()
:将当前StringBuilder对象转换为String对象
5 包装类
5.1 概述
基本类型像对象一样使用
基本类型 | 对应包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
double | Double |
char | Character |
boolean | Boolean |
装箱与拆箱
基本类型与对应的包装类型之间的关系
- 装箱:基本类型---->包装类对象
Integer i=new Integer(4);//使用构造函数
Integer iii=Integer.valueOf(4);
- 拆箱:包装类对象---->基本类型
int num=i.intValue();
自动装箱与拆箱
Integer i=4;//自动装箱
i=i+5;//等号右边,将i对象转换成基本数值(自动拆箱)
//加法运算完成后,再次装箱,把基本数值转换成对象
基本类型与字符串之间的转换
基本类型转换为String
-
34+"";//最简单的
-
包装类的静态方法
toString()
方法,不是Object类的toString的重载static String toString(int i)
:返回一个给定整数的String对象
-
String类的静态方法
String转换成基本类型
除Character之外,所有的其他包装类都具有parseXxx方法将字符串转换成对应的基本类型
public static byte parseByte(String s)
public static short parseShort(String s)
public static int parseInt(String s)
public static long parseLong(String s)
public static float parseFloat(String s)
public static double parseDouble(String s)
public static boolean parseBoolean(String s)