String常用类和StringBuilder (Java)
程序员文章站
2022-09-21 14:15:39
String常用类String类的下述方法能创建并返回一个新的String对象:String()创建一一个空字符的 String对象String(String original)创建一个String对象为original的拷贝String(char[] value)用一个字符数组创建一个String对象String(char[] value, int offset, int count)用一个字符数组从offset开始的count个字符序列创建一个String对象String(b...
String常用类
String类的下述方法能创建并返回一个新的String对象:
String()
创建一一个空字符的 String对象
String(String original)
创建一个String对象为original的拷贝
String(char[] value)
用一个字符数组创建一个String对象
String(char[] value, int offset, int count)
用一个字符数组从offset开始的count个字符序列创建一个String对象
String(byte[] bytes) // 使用int 自动转char 如 97 对应 字符 'a'
用一一个byte数组创建一个 String对象
String(byte[] bytes,int offset,int length)
用一个byte数组从offset项开始的length个字符序列创建一个 String对象
String类的下述方法能创建并返回一个新的String对象:
concat, replace, substring, toLowerCase, toUpperCase, trim
提供查找功能的有关方法: endsWith, startsWith, indexOf,,lastIndexOf
index0f(int ch) // 使用int 自动转char 如 97 对应 字符 'a'
index0f(int ch, int fromIndex ) // fromIndex 是下标开始对比,包括下标
index0f(String str)
index0f(String str,int fromIndex )
提供比较功能的方法: equals, equalsIgnoreCase, compareTo
equalsIgnoreCase() // 忽略大小写的equal()
其它方法: charAt ,length
public static String valueOf(…) 可以将基本类型数据转换为字符串
valueOf(int i)
value0f(char c)
value0f(long 1)
value0f(float f )
value0f(double d)
value0f(boolean b)
value0f(char[] data)
valueOf(char[] data, int offset, int count )
value0f(0bject obj)
System.out.println(String.valueOf(123));
// 运行结果:
123
StringBuilder类
StringBuilder() //创建一个不包含字符序列的“空”的StringBuffer对象。
StringBuffer(String str) //创建一个StringBuffer对象,包含与String对象str相同的字符序列。
public StringBuilder append(…)// 可以为该StringBuilder 对象添加字符序列,返回添加后的该StringBuilder对象引用。
public StringBuilder delete(int start,int end) //可以删除从start开始到end-1为止的一段字符序列,返回修改后的该StringBuilder对象引用。
public StringBuilder deleteCharAt(int index)// 移除此序列指定位置上的 char。
public StringBuilder insert(…)// 可以为该StringBuilder 对象在指定位置插入字符序列,返回修改后的该StringBuilder对象引用
public StringBuilder setCharAt(int index,char ch) //设置指定位置和 String 类含义类似的方法
public StringBuilder reverse()// 用于将字符序列逆序,返回修改后的该 StringBuilder对象引用。
public String toString()// 返回此序列中数据的字符串表示形式。
public int indexOf(String str) // 没有 index0f(int ch)
public int indexOf(String str,int fromIndex)
public String substring(int start)
public String substring(int start,int end)
String和StringBuffer和StringBuilder使用要点
String使用的陷阱:String一经初始化后,就不会在改变其内容了。对String字符串
的操作实际上对其副本(原始拷贝)的操作,原来的字符串一点都没有改变。
String s="a"; //创建了一个字符串
s=s+"b"; //实际上原来的"a"字符串对象已经丢弃了,现在又产生了一个字符串s+"b"(也就是"ab")。
如果多次执行这些改变串内容的操作,会导致大量副本字符串对象存留在内存中,
降低效率。如果这样的操作放到循环中,会极大影响程序的性能。
相反,StringBuffer类是对原字符串本身操作的,可以对字符串进行修改而不产生副本拷贝。可以在循环中使用。
String:不可变字符序列
StringBuffer:可变字符序列,并且线程安全,但是效率低
StringBuilder:可变字符序列,线程不安全,但是效率高(一般用他!)
本文地址:https://blog.csdn.net/weixin_45464739/article/details/109270480