Java中的常用类

文章讲述了Java中的字符串不可变性以及String、StringBuffer和StringBuilder在字符串拼接中的应用。强调了StringBuffer的线程安全和StringBuilder的效率,同时介绍了SimpleDateFormat用于日期格式化和Random类生成随机数的功能。此外,还提到了枚举类型(Enum)在多状态表示中的使用。
摘要由CSDN通过智能技术生成

String

字符串从出生到死亡都是不能改变的
双引号括起来的字符串放在字符串常量池是为了提高执行效率

String s = new String("caohao");
//在堆中创建对象并且指向字符串常量池的"caohao"

垃圾回收器是不会释放常量池的
String类重写了equals(),所以对于字符串内容是否相等的比较可以直接调用equal

public class Test{
	public static void main(String[] args){
		String a = new String("caohao");
		String b = new String("caohao");
		System.out.println(a.equals(b));
	}
}		

以上代码一共是创建了3个对象——1个字符串常量池对象2个堆String对象

StringBuffer

在实际开发中我们会遇到频繁拼接字符串的情况,如果使用String的话,每一次拼接都要产生新的字符串,不仅占用内存空间,而且效率低下
我们一般会选择使用StringBuffer和StringBuilder
*

  • StringBuffer(线程安全的)
  • 初识容量是16
  • StringBuffer的底层是byte[],String的底层也是byte[],但是是被final修饰的
  • StringBuffer中使用append()可以进行字符串的添加
StringBuffer sb1 = new StringBuffer();
System.out.println(sb1.capacity());

StringBuffer sb2 = new StringBuffer(32);
sb2.append("caohao");
sb2.append("lanyangyang");
System.out.println(sb2.substring());

StringBuffer sb3 = new StringBuffer("java");
sb3.reverse();
System.out.println(sb3);

StringBuilder的初始容量也是16
尽量在创建StringBuilder的时候给定一个初始容量,减少底层数组扩容的次数

SimpleDateFormat

import java.util.Date;
import java.text.SimpleDateFormat;
class Test
{
	public static void main(String[] args){
		Date nowTime=new Date();
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(sdf.format(nowTime));
	}
}  //Date--->String

SimpleDateFormat用来专门格式化日期

String time="2022-12-30 16:08:08";
SimpleDateFormate sdf=new SimpleDateFormate("yyyy-MM-dd hh:MM:ss");
Date d=sdf.parse(time);
//String ---> Date

将字符串转化成对应的Date对象

Date d=new Date(System.currentTimeMillis());
//  毫秒  --->  Date

Random

随机数对象用来创建一个随机数

Random random=new Random();
int num=random.nextInt();
System.out.println(num);

Enum

当可能性在两个之上,boolean类型无法再满足需求,我们就需要使用枚举类型
*

  • 枚举编译生成的也是.class文件
  • 枚举是一种引用数据类型
  • 枚举中的每个值都可以看成是常量
class Test{
    public static Result division(int a,int b){
        try{
            int c=a/b;
            return Result.SUCCESS;
        }catch(Exception e){
            return Result.FAIL;
        }
    } 
}
enum Result{
    SUCCESS,FAIL
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值