JAVA常见类(三) String类

String类

一、构造方法

主要构造方法如下:

(1)public String()空构造。

(2)public String(byte[] bytes) 字节数组转字符串。一个字节换算成十进制后按照ASCII码对应一个字符。

(3)public String(byte[] bytes,int index,int length) 从index开始的length长度的字节数组转换为字符串。

(4)public String(char[] value) 字符数组转字符串。

(5)public String(char[] value,int index,int length) 从index开始的length长度的字符数组转换为字符串。

二、字符串的特点

(1)字符串一旦被赋值,就不能被改变。一旦被赋值,就在方法区的字符串常量池产生一个字符串常量。不过字符串的引用是可以改变的。

(2)如果给变量直接赋值,如String s="hello",程序会先在常量池中找是否有该字符串,如果有,则s直接指向该字符串。该方式只创建了"hello"一个对象。

        如果通过String s=new String("hello") 方式来实现s指向"hello"的效果,它会先在堆内存中创建一个对象new String(),然后该对象又指向方法区的字符串常量池中的"hello",这样s也就间接的指向了"hello"这个字符串了,在这个方法中,一共创建了两个对象。

(3)String类重写了equal方法,该方法变为比较两个字符串的内容是否一样。要比较地址值是否一样则使用"=="。

(4)字符串的拼接:字符串变量相加,先开空间再拼接。字符串常量相加,先拼接,再去常量池中找有没有拼接后的字符串,如果有则返回字符串,如果没有则创建。

三、String类判断功能

(1)boolean equals(Object obj) 判断俩字符串的值是否相等(区分大小写)。

(2)boolean equalsIgnoreCase(String str) 判断俩字符串的值是否相等(不区分大小写)。

(3)boolean contains(String str) 判断是否包含字符串str。

(4)boolean startsWith(String str)/boolean endsWith(String str) 判断字符串是否以字符串str开头/结尾。

(5)boolean isEmpty() 判断字符串是否为空。注意:当String s=null,这是指对象为空,不能调用String类的方法包括isEmpty()。

四、String类获取功能

(1)int length() 获取字符串长度。

(2)char charAt(int index) 获取索引值为index的字符。

(3)int indexOf(int ch) 返回指定字符在该字符串里出现的第一次位置的索引。

(4)int indexOf(String str)  返回指定符串在该字符串里出现的第一次位置的索引。

(5)int indexOf(int ch,int fromIndex) 返回指定字符在此字符串中从指定位置后第一次出现处的索引。

(6)int indexOf(String str,int fromIndex) 返回指定字符串在此字符串中从指定位置后第一次出现处的索引。

(7)String subString(int start) 从指定位置开始截取字符串,默认到末尾。包含start这个索引。

(8)String subString(int start ,int end) 从指定位置开始到指定位置结束截取字符串。左包右不包。

五、String类转换功能

(1)byte getBytes() 字符串转字节数组                         与构造方法String(Byte byte[])对应。

(2)char[] toCharArray() 字符串转字符数组                 与构造方法String(char[] value)对应。

(3)  static valueof(……) 可以将任意类型的数据转换为字符串,经常用这个方法。

(4)String toLowerCase()/toUpperCase() 转小写/大写

(5)String concat(String str) 与字符串str拼接

六、其他功能

(1)String replace(char old,char new)\String replace(String old,String new)  把字符串中含有的所有的指定的字符/字符串 替换为新的字符/字符串 。

(2)String trim() 去除字符串两边的空格并返回。

(3)int compareTo(String str)  按字典返回两个字符串的大小

         int compareToIgnoreCase(String str) 按字典返回两个字符串的大小(忽略大小写)



























猜你喜欢

转载自blog.csdn.net/ytasdfg/article/details/81046102