Java——String类的用法详解
一、String
1.String概述
- 使用场景:适用于少量的字符串操作。
2.String常用方法:
-
int length()
返回此字符串的长度。 -
char charAt(int index)
返回指定索引处的 char 值 (char 类型的)。 -
boolean equals(Object anObject)
将此字符串与指定的对象比较。java字符串比较内容一定不要用"=="。 -
char[] toCharArray()
将此字符串转换为一个新的字符数组。字符串转字符数组 -
static String copyValueOf(char[] data)
返回指定数组中表示该字符序列的 String。字符数组转字符串 -
String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。 -
String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。endIndex – 结束索引,不包括。 -
String[] split(String regex, int limit)
根据匹配给定的正则表达式来拆分字符串。regex : 正则表达式分隔符。limit : 分割的份数。返回字符串数组。 -
参考链接:Java String类
3.String常用的两种遍历方式
- ①for + charAt(i)
String str = "Hello Java"; for(int i = 0; i < str.length(); i++){ System.out.pritln(str.charAt(i)); //str.length():获取字符串长度,要加(),数组获取长度不加(). //str.charAt(i):charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。 }
- ②增强for
String str = "Hello Java"; for(char ch : str){ System.out.println(ch); }
二、StringBuilder
1.StringBuilder概述
- 线程不安全 StringBuilder的方法没有synchronized键字修饰,所以不能保证线程安全性。
- 适用于单线程下在字符串缓冲区进行大量操作。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)
- 运算速度比较(通常情况下):StringBuilder > StringBuffer > String
2.StringBuilder常用方法
-
public StringBuffer append(String s)
public AbstractStringBuilder append(int i)
将指定的字符串(或者索引对应的值)追加到此字符序列。 -
String toString()
返回此序列中数据的字符串表示形式。
三、StringBuffer
-
线程安全
StringBuffer中大部分方法由synchronized关键字修饰,在必要时可对方法进行同步 因此任意特定实例上的所有操作就好像是以串行顺序发生的, 该顺序与所涉及的每个线程进行的方法调用顺序一致,所以是线程安全的
-
适用于多线程下在字符串缓冲区进行大量操作。
todo…