java高级特性-实用类

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值