Java学习笔记(七):常用类

Java常用类

一、字符串相关的类

1.String类

  • String类是不可变的字符序列,String对象的字符内容是存储在一个字符数组value[]中的
  • 字符串常量存储在字符串常量池,字符串非常量对象存储在堆中
  • 字符串的连接:
    • 常量与常量拼接结果在常量池
    • 变量与常量或变量拼接结果在堆中
    • 如果拼接结果调用intern()方法,返回值就在常量池

2.StringBuider类

  • StringBuilder类是可变字符序列,可以对字符串内容进行增删,此时不会产生新的对象
  • StringBuilder类不同于String,其对象必须使用构造器生成,默认初始容量为16

3.StringBuffer类

  • StringBuffer类是可变字符序列,可以对字符串内容进行增删,此时不会产生新的对象
  • StringBuffer类不同于String,其对象必须使用构造器生成,默认初始容量为16

4.String、StringBuilder、StringBuffer

  • String:不可变字符序列
  • StringBuilder:可变字符序列,效率高,线程不安全
  • StringBuffer:可变字符序列,效率低,线程安全

二、时间日期类

  • 计算机中,以1970年01月01日00:00:00为起始时间,以毫秒为计时单位用long类型来表示时间
  • Date:时间类,用于表示一个特定的瞬间,精确到毫秒
  • DateFormat:时间格式类,用于把Date对象转换为指定格式的字符串或把指定格式的字符串转换为Date对象
    • SimpleDateFormat:DateFormat是一个抽象类,一般用其子类SimpleDateFormat类实现
  • Calender:日期类,用于日期计算。
    • Gregor ianCalendar:Calendar是一个抽象类,一般用其子类GregorianCalendar实现
    • 月份中,0-11表示1-12月;日期中,1表示星期天,2-7表示星期一至星期六
    • 时间对象和日期对象的转换:Calendar对象.setTime(Date对象)

三、Java比较器

  • Java实现对象排序的方式有两种:

    • 自然排序:java.lang.Comparable
    • 定制排序:java.util.Comparator
  • 自然排序

    • Comparable接口强制对实现它的类的对象进行整体排序,这种排序被称为类的自然排序
    • 实现Comparable接口的类必须实现compareTo(Object obj)方法,两个对象通过compareTo()方法的返回值来比较大小,如果当前对象大于形参对象,返回值为正整数;如果当前对象小于形参对象,返回值为负整数;如果两个对象相等,则返回零
    • 实现Comparable接口的对象列表或对象数组可以通过Collections.sort()Arrays.sort()方法进行自动排序
  • 定制排序

    • Comparator接口强制对实现它的类进行整体排序,这种排序被称为类的定制排序
    • 实现Comparator接口的类必须实现compare(Object obj1,Object obj2)方法,两个对象通过compareTo()方法的返回值来比较大小,如果前者大于后者,返回值为正整数;如果当前前者小于后者,返回值为负整数;如果两个对象相等,则返回零
    • 可以将Comparator传递给Collections.sort()Arrays.sort()方法,从而允许在排序顺序上实现精确控制。也可以使用Comparator来控制某些数据结构的顺序,如有序set或有序map

四、System类

  • java.lang.System类的构造器是private的,成员变量和成员方法是static
  • System类包含三个成员变量:inouterr,分别代表标准输入流、标准输出流、标准错误输出流
  • System类的常见成员方法:
    • native long currentTimeMillis():返回当前的计算机时间
    • void exit(int status):退出程序
    • void gc():请求系统进行垃圾回收
    • String getProperty(String key):获得系统中属性名为key对应的值

五、Math类

  • java.lang.Math

六、BigInteger与BigDecimal

  • java.math.BigInteger类可以表示不可变的任意精度的整数
  • java.math.BigDecimal类可以表示不可变的任意精度的有符号十进制定点数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值