欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

相关标签: Java 字符串