实用类介绍(二)

本课目标

熟练使用 String 操作字符串

熟练使用 StringBuffer 操作字符串

会使用 Date类和 Calendar 类操作日期时间

会使用 SimpleDateFormat 类格式化日期时间

一、String 类

在Java中使用String 类的对象储存字符串

String 类位于Java.lang 包中,具有丰富的构造方法和方法

1.String 类的常用方法

方法名

作用

char charAt(int index)

返回指定索引处的 char 值。

String concat(String str)

将指定字符串连接到此字符串的结尾。

boolean contains(CharSequence s)

当此字符串包含指定的 char 值序列时,返回 true

boolean equals(Object anObject)

将此字符串与指定的对象比较。

boolean equalsIgnoreCase(StringanotherString)

将此 String 与另一个 String 比较,不考虑大小写。

byte[]  getBytes()

使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

int indexOf(String str)

返回指定子字符串在此字符串中第一次出现处的索引。

int lastIndexOf(String str)

返回指定子字符串在此字符串中最右边出现处的索引。

int length( )

返回此字符串的长度。

boolean matches(String regex)

告知此字符串是否匹配给定的正则表达式。

 

2.String 类的 length 和 trim 方法
  • int length():返回字符串中的字符数
  • String trim():返回字符串的副本,忽略前导空白和尾部空白

3.String 类的 equals()方法
  • boolean equals(Object anObject) :比较存储在两个字符串对象的内容是否一致

  • equals() 方法比较原理(重写了Object 类的equals() 方法)

:怎末理解 == 与 equals ? String 类型的 == 与 equals 有什么区别?

Object 类中的 equals 方法中返回的就是 == 运算。String 类中重写了equals 方法,比较的是两个字符串的内容是否相同;而 == 比较的是两个字符串在内存中的地址是否是同一个

4.字符串比较多其他方法
  • boolean equalsIgnoreCase(StringanotherString) :字符串比较时不考虑大小写
  • String toLowerCase() 方法:将此 String 中的所有字符都转换为小写
  • String toUpperCase()方法:将此 String 中的所有字符都转换为大写

5.字符串的搜索和提取方法

方法名

说明

public int indexOf(int ch)

搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1

public int indexOf(String value)

public int lastIndexOf(int ch)

搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1

public int lastIndexOf(String value)

public String substring(int index)

提取从位置索引开始的字符串部分

public String substring(int beginindex, int endindex)

提取beginindexendindex之间的字符串部分

二、StringBuffer 类

  • StringBuffer类位于java.util包中,是String类的增强类
  • 对字符串频繁修改时,使用StringBuffer类可以大大提高程序执行效率

String类、StringBuffer类和StringBuilder类的区别?

  • String 是不可变对象,在每次对 String 类型进行改变时其实都等同于生成了一个新的String 对象,然后在指向新的对象
  • 经常改变内容的字符串最好不要使用String ,因为每次生成对象都会对系统性能产生影响
  • StringBuffer 是可变的字符串,在每次对 StringBuffer 对象进行改变时,会对StringBuffer 对象本身进行操作,而不是生成新的对象
  • 字符串经常改变的情况可使用 StringBuffer ,执行效率要比String 类高
  • JDK5.0 后提供了 StringBuilder ,等价于 StringBuffer
  • 区别:StringBuffer 类是线程安全,StringBuilder 类是单线程,不提供同步,理论上效率更高

三、Calendar 类

  • Calendar类是抽象类:用于设置和获取日期/时间数据的特定部分
  • Calendar类提供一些方法和静态字段来操作日历

属性

说明

static int MONTH

指示月

static int DAY_OF_MONTH

指示一个月中的某天

static int DAY_OF_WEEK

指示一个星期中的某天

方法

说明

static Calendar getInstance()

使用默认时区和语言环境获得一个Calendar对象

int get(int field)

返回给定日历字段的值

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值