文章目录
0 前言
实用类是java提供的一些常用的工具类,它们可以帮助我们简化编程和提高效率。在本文中,我们将介绍以下几种实用类:枚举、包装、String、StringBuffer、日期。我们将学习它们的定义、特点、用法和注意事项。枚举是一种特殊的类,用于存放一组常量,可以限制赋值范围,提高类型安全。包装类是基本数据类型的对应类,可以将基本数据类型转换为对象,方便在集合、泛型等场合使用。String类是字符串类,用于存储和操作不可变的字符序列。StringBuffer类是字符串缓冲区类,用于存储和操作可变的字符序列,提供了多种拼接、修改、删除等方法。日期类是用于表示和处理日期和时间的类,如java.util.Date、java.util.Calendar等,可以方便地获取和设置日期和时间的各个字段,以及进行格式化和解析。
1 枚举
1.1 枚举产生的原因
定义属性的同时如果出现不合逻辑的类型,则需要用枚举类型替代
1.2 创建枚举
关键字enum
1.3 使用枚举
//创建枚举类
public enum Grades{
A("优秀"),B("良好"),C("及格"),D("不及格");
private String value;
Grades() {
}
Grades(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
//创建javaBean和测试类
public class Student {
private Grades grades;
private String grade;
public Grades getGrades() {
return grades;
}
public void setGrades(Grades grades) {
this.grades = grades;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
public static void main(String[] args) {
Student student = new Student();
student.setGrades(Grades.A);
System.out.println(student.getGrades().getValue());
}
}
2 包装
2.1 定义
每个基本数据类型在java.lang包都由各自的包装类型。
2.2 作用
提供了一系列实用的方法,例如可以实现基本数据类型和包装类型之间的转换等等功能
集合不允许存放基本数据类型,只能存放包装类型的数据
2.3 构造方法1
利用包装类型的构造方法,实现基本数据类型转换为包装类型
int a = 1;
Integer aa = new Integer(a);
2.4 构造方法2
除了Character类型以外,都可以使用构造器将字符串类型转换为包装类型
String与基本数据类型之间只能进行连接运算
Boolean中除“true”以外的其它字符串,结果都是false
String s = "1";
Integer ss = new Integer(s);
String sa = s + a;
Boolean b = new Boolean(s);
System.out.println(b);
2.5 常用方法
1) xxValue()
将包装类型转换成基本数据类型
2) toString()
基本数据类型转换为字符串类型
3) parseXX()
将字符串类型转换为基本数据类型(Character类型除外)
4) valueOf()
将基本类型转换为包装类型,将字符串类型转换为包装类型(Character类型除外)
// 1. xxValue()
// 将包装类型转换成基本数据类型
Integer i = new Integer(1);
int ii = i.intValue();
// 2. toString()
// 基本数据类型转换为字符串类型
String iii = i.toString();
// 3. parseXX()
// 将字符串类型转换为基本数据类型(Character类型除外)
double b = Double.parseDouble(iii);
// 4. valueOf()
// 将基本类型转换为包装类型,将字符串类型转换为包装类型(Character类型除外)
Double bb = Double.valueOf(b);
2.6 装箱和拆箱
装箱:基本数据类型转换为包装类型(自动转换)
拆箱:包装类型转换为基本数据类型(自动转换)
包装类并不是用来取代基本数据类型的,在基本数据类型需要用对象表示时使用(int默认值为0,Integer默认值为空)
3 String
3.1 基本语法
定义:存储字符串
包路径:java.lang
String s = “”; //字符串变量存储在方法区中(常量池中)
String s = new String(); //字符串变量存储在堆中
String s = new String(“xxx”);
3.2 常用方法
String s1 = "hello";
String s2 = new String("hello");
//leng() 返回字符串长度
System.out.println(s1.length());
//equal()和 ==
//equal()比较的是字符串的内容是否相同, == 比较的是字符串的地址是否相同
//基本数据类型之间只能使用 ==
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
//equalsIgnoreCase()比较对象的值并忽略大小写
String s3 = "Hello";
System.out.println(s1.equalsIgnoreCase(s3));
//toLowerCase() 将所有字符都转换为小写
System.out.println(s3.toLowerCase());
//toUpperCase() 将所有字符都转换为大写
System.out.println(s3.toUpperCase());
//concat() 将指定字符串连接到此字符串的结尾
System.out.println(s1.concat(s3));
//trim() 去除字符串两端的空格
String s4 = " wor ld ";
System.out.println(s4.trim());
//indexOf() 返回指定字符在此字符串中第一次出现处的索引。(未出现返回-1)
System.out.println(s1.indexOf("l"));
//substring() 返回一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
System.out.println(s1.substring(2));
System.out.println(s1.substring(1,4));
//split() 根据参数分割字符串,返回结果是数组
System.out.println(Arrays.toString(s1.split("e")));
4 StringBuffer
4.1 为什么使用StringBuffer
String是不可修改的字符串,对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率
4.2 常用方法
StringBuffer buffer = new StringBuffer("123");
//append() 将新的字符串连接到原字符串末尾
buffer.append("abc");
//insert() 在原有的字符串的某个索引位置插入某个字符串,该索引之后的字符依次往后移一位
buffer.insert(3, ",");
System.out.println(buffer);
5 日期
5.1 获取当前时间
//获取当前时间【西文】
Date date = new Date();
System.out.println(date);
5.2 字符串类型转成Date类型
//将字符串类型转换成日期类型
String d = "1991-01-01 09:09:09";
//1.实例化SimpleDateFormat对象,指定输出的日期展示规范
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//2.调用parse()方法,将字符串对象转换为日期类型对象
Date date1 = simpleDateFormat1.parse(d);
//3.输出
System.out.println(date1);
5.3 Date类型转成字符串类型
//获取当前时间【西文】
Date date = new Date();
System.out.println(date);
//将日期类型对象转换为字符串类型对象
//1.实例化SimpleDateFormat对象,指定输出的日期展示规范
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//2.调用format方法,将日期类型对象转换为字符串对象
String format = simpleDateFormat.format(date);
//3.输出
System.out.println(format);