目录
1.Object类、java.lang.Object.
- 它是所有类的直接或间接父类、如果一个类没有指定父类,那么将默认继承Object类。
- 类的主要方法:
1)boolean equals():除了String类,其他对象使用.equals()方法比较的都是地址值。
·····注:String类对象使用时比较的是值是否相等。因为Object类的equals方法中专门对String的调用做的特殊处理。
··· ··其次一般在我们使用的类中都会重写 equals方法,因为大部分情况下比较地址值是无意义的,经过重写后,就可以用来比较当前对象的属性值是否相等了。
2).String toString();使用该方法,不重写则默认返回对象的地址值、重写后则返回对象的字符串形式。
3)int hashCode():返回对象的hashCode值、
2.Date(日期时间类) java.util.Date
- 毫秒值:1000ms=1s
-作用、可以使用毫秒值对时间日期进行运算。即将毫秒值转换为时间或将时间转换为毫秒值。 - 时间原点:国外:1970年1月1日 00:00:00、这个时间点对应的毫秒值就是 0ms.
-即将0ms转换为时间的话就是 1970年1月1日 00:00:00
-而将1970年1月1日 00:00:00 转换为毫秒值,也会得到 0ms。
-国内属于东八区,所以时间原点往后8小时。1970年1月1日 08:00:00 - Date的构造方法
- 空参构造:new Date()-----》得到系统当前的时间和日期
- 有参构造:new Date( Long long)----得到该毫秒值(long)对应的日期和时间。例如 new Date(0)、得到的就是时间原点 1970年1月1日 00:00:00 - Date的成员方法
long getTime():得到当前(调用方法的时间日期对象)时间的毫秒值
3.(Abstract)DateFormat类、和其子类SimpleDateFormat
java.text…
- 该类是抽象类,所以无法直接使用,得使用它的一个子类。SimpleDateFormat
- 该类能够按照指定的格式,实现将日期时间对象【格式化为】对应格式的字符串形式的,以及将对应格式的字符串【解析】为时间日期格式
-格式参数:
y: 年
M(大写): 月
d: 天
H(大写): 时
m: 分
s: 秒
-一般使用的格式有:- yyyy-MM-dd HH:mm:ss
- yyyy年MM月ddt日 HH时mm分:ss秒
- yyyy-MM-dd
- yyyy年MM月dd日
- 格式化:(按照格式将Date格式化为String)
- 解析:(按照格式,将符合格式的String解析为对应的Date对象)
//得到一个时间日期类型
Date date = new Date();
System.out.println(date);//Sat Mar 19 11:31:30 CST 2022
System.out.println(date.toLocaleString());//得到国内的能看明白的Date格式----------2022-3-19 11:32:34
//定义要转换或者解析的格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//将date格式化为String
String format = sdf.format(date);
System.out.println(format);
//此处异常时因为可能会造成解析异常,如果出异常就需要try{}catch{}或者throws
try {
Date parse = sdf.parse(format);
System.out.println(parse.toLocaleString());//2022-3-19 0:00:00
} catch (ParseException e) {
e.printStackTrace();
}
4.System类 java.lang. 它提供了两个常用静态方法
- public Static long currentTimeMillis():返回系统当前的毫秒值。
1. 它可以用来测试程序执行的效率,即拿到执行前后的毫秒值,并做差值处理。
2.arrayCopy(。。。):将数组中指定的数据拷贝到另外一个数组中。这个暂时不做讲解。
5.StringBuilder (缓冲区) java.lang
它是字符串缓冲区,可以提高字符串的操作效率。其底层也是一个byte数组,但是没有用final修饰,,长度是可以改变的。
且每个StringBuilder对象始终都是一个数组,进行操作时如果容量不够就会进行自动扩容。初始容量是16的byte数组。
- 构造方法
1.空参构造:new StringBuilder():得到一个空的缓冲区对象(底层byte大小为16)。
2.有参构造:new StringBuilder(String string):得到对应的字符串缓冲区对象。 - 常用方法:
1.StringBuilder append():因为它返回的任然是当前对象本身。所以可以使用链式编程。
参数:参数可以为任意数据类型的字符串形式
StringBuilder sb = new StringBuilder();
//使用了链式编程
sb.append("abc").append(true).append(3);
System.out.println(sb); //abctrue3
3.String toString():将当前缓冲区对象装换成String字符串:
//将缓冲区对象sb装换成字符串格式
String string = sb.toString();//字符串 abctrue3
// 将字符串再转成缓冲区对象,只需要用构造穿进去就行
4.StringBuilder reverse():将该缓冲区对象的内容反转。如“123”----》“321”
//将缓冲区对象的内容反转
StringBuilder reverse = sb.reverse();
System.out.println(reverse);
6.包装类 java.lang
- 特点:因为基本类型自己是没有对应的方法来操作数据的,所以将这些基本类型的数据包装起来形成了包装类,这些包装类中包含了一些操作对应基本数据的方法,像对象一样可以操作它。
- 包装类:
基本类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
除了标黑处理的Integer和Character两个包装类,其它的都是首字母大写即可。
3.构造方法(以Integer为例)一般使用静态方法
//构造方法可以传入int类型,和其它能够被转化的基本类型数据。转换成功则 抛出100,错误抛出0
Integer integer = new Integer(5);
Integer integer2 = new Integer('b'); //此处传入的是字符,如果传入字符串就会报错
System.out.println(integer+"-----"+integer2);
4.静态方法:
装箱和拆箱:
拆箱的目的是我们要拿出数据来进行运算。因为包装类无法直接参与运算。
// 装箱操作:
Integer i1 = Integer.valueOf(123);
Integer i2 = Integer.valueOf('a');
System.out.println(i1+"-----"+i2);
// 拆箱,一般会自动拆箱,除非我们手动要拿到。
int i = i1.intValue();
System.out.println(i);
不知道对应方法怎么调,直接声明一个对象 然后。value看提示。
5.每个包装类(除了Character)都有一个静态方法,将字符串转为对应的基本类型数据。
不过不一定成功。
String str1="asa";
Integer.parseInt(str1);
// Long.parseLong(str1);
Byte.parseByte(str1);
Double.parseDouble(str1);
Short.parseShort(str1);
Float.parseFloat(str1);
Boolean.parseBoolean(str1);