20180727_09_Java中String类和StringBuffer类的一些介绍

String类:特殊的引用类型

字符串是常量;它们的值在创建之后不能更改。(常量是在方法区中:字符串常量池  :前提:将字符串常量直接赋值的形式 )

构造方法:

String() :空参构造

String(byte[] bytes):将字节数组-->String 数据

String(byte[] bytes, int offset, int length):将字节数组的一部分转换字符串

String(char[] value) :将字符数组转换成字符串

String(char[] value, int offset, int length):将字符数组的一部分转换字符串

public String(String original)    :创建一个字符串对象:传递字符串常量

 注意:

字符串变量相加,是先开辟空间(不是先相加),在看常量池中是否有这个字符串常量..

字符串常量相加,是先拼接(先相加),在开辟空间

String类常见的功能:

public boolean equals(Object anObject) :比较字符串的内容是否相同

 

public boolean equalsIgnoreCase(String anotherString):比较内容是否相同,忽略大小写

public boolean contains(String s):判断大字符串中是否包含一个子字符串

public boolean startsWith(String prefix):判断字符串是以...开头

public boolean endsWith(String suffix):判断字符串是以...结尾

public boolean isEmpty() :判断字符串是否为空

String的获取功能:

       int length():获取字符长度

       public char charAt(int index):获取指定索引中的字符。

       public int indexOf(int ch)返回指定字符在此字符串中第一次出现的索引。

       public int indexOf(String str)返回指定字符串在大字符串中第一次出现的索引。

       public int lastIndexOf(int ch)返回指定符在该字符串中出现的最后一次的索引。

       public String substring(int beginIndex)返回从指定位置开始截取,默认截取到末尾,后的字符。

       public String substring(int beginIndex,int endIndex)返回从指定位置开始截取,截取到指定位置结束。(包前不包后)

String类型的转换功能:

byte[ ] getBytes() 将字符转换成字节数组。

public char [ ] toCharArray() 将字符串转换成字节数组。

valueOf(XXX 变量名); 可以将任意类型转换成String类型。

public String toLowerCase() 将字符串转换成小写。

public String toUpperCase() 将字符串转换成大写

String类型的连接功能:

       public String concat(String str)  将指定字符串连接到此字符串的结尾。

String的其他功能,

替换功能:

       String replace (char oldChar,char newChar)将指定字符替换以前的字符。

       String replace(String oldStrind,String newString)将指定字符串替换以前的字符串。

       去除两端空格:

       public String trim()去除字符串两端的空格。

       按字典顺序比较:

       public intcompareTo(String anotherString) 字符串的比较方法。

       eg:String st1 = “hello”;

              String st2 = “word”;

              System.out.println(s1.compareTo(s2)); //比较

              这个方法会将字符串自动转换成字符数组,先获取两个字符串的长度,把短的字符串长度值赋给int lim,   当st1的第一个字符‘h‘不等于st2的第一个字符’w’时,返回第一个字符 – 第二个字符 ‘ h’ – ‘w’;当等于时,比叫st1的第二个字符和st2的第二个字符,直到lim,如果知道第lim个字符时,都相等,就返回第一个字符数组的长度-第二个字符数组长度。

 

StringBuffer:线程安全的可变字符序列。

       线程安全——> 同步——>执行效率低

       线程不安全——>不同步——>执行效率高

       StringBuffer和String的区别:

              前者是线程安全类,可变的字符序列,内存中提供字符串缓冲区,后者是不可变的字符序列; 从内存角度考虑,前者优先于后者。

              String:        在方法区中开辟空间——>占内存;

              StringBuffer:里面存在初始容量里面不断的追击字符串(append)。

StringBuffer的构造方法:

       public StringBuffer()构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。

       public StringBuffer(int capacity):指定容量大小

       public StringBuffer(String str):构造一个字符串缓冲区:里面的容量(字符串内容英文)大小:字符串长度+16初始容量。

StringBuffer的获取功能:

       public int capacity() 初始容量。

       int length() 返回字符串长度。

StringBuffer的添加功能:

StringBuffer append(xxx x) 将指定内容追加(末尾追加)到字符串缓冲区中,返回StringBuffer本身。

public StringBuffer insert(int index,xxx x)在指定位置处插入一个新的内容,返回StringBuffer本身。

StringBuffer的删除功能:

       StringBuffer deleteCharAt(int index) 删除指定位置的字符,返回StringBuffer本身。

StringBuffer delete(int start,int end) 删除从指定位置开始,到指定位置结束,返回StringBuffer本身。

StringBuffer的替换功能:

       public StringBuffer replace(int start,int end,String str) 从指定位置开始到指定位置结束,用给定的str字符串替换指定的字符内容   

StringBuffer的反转功能

       StringBuffer reverse()  

StringBuffer的截取功能:

String substring(int start)  :从指定位置默认截取到末尾,返回一个新的字符串

String substring(int start,int end):从指定位置开始截取到指定位置结束

猜你喜欢

转载自blog.csdn.net/Lisiluan/article/details/81261856
今日推荐