java入门 -- String类常用方法

字数 896阅读 21

*String 字符串类

说明:字符串是常量,一旦创建了就不能修饰了,字符串的内容一旦发生了变化就会创建新对象

字符串的内容不适宜频繁修改,因为一旦修改就会创建新的对象。

如果非要修改字符串的内容建议使用字符串缓冲类;

*1. 字符串变量定义方式:

* 方式一:String var = "字符串";

* 方式二:String var = new String("字符串“);

* 另种方式的不同:

* 方式一:首先jvm检查内存常量池中是否有要创建的字符串,如果没有就在内存常量池中创建该字符串,并且返回该字符串的地址给变量;

* 如果jvm检查内存常量池中有该字符串,那么久不会再创建字符串,而是直接返回该字符串的地址给变量;

* 方式二:首先jvm会检查内存常量池中是否有要创建的字符串,如果有那么就在堆区创建一个字符串对象并返回地址给变量;

* 如果Jvm检查内存常量池中没有要创建的字符串,那么Jvm就会现在内存常量池中先创建该字符串,然后再再堆区创建该字符串并返回地址给变量:

* 说明:字符串常量池位于方法区中;

*2. 常用方法:

*String重写了Object中的equals的方法,比较的是字符的内容是否一致,而"=="比较的是引用类型的地址是否相等;

* (1)构造方法;

* String()

* String(byte[] vlaues) 接收byte的数组,转换为字符串

* String(byte[] valurs,offset,num) 将多少个数值转换为字符串

* String(char[] values) 将字符数组合并成字符串

* String(char[] values,offset,num)将offset个字符转换成num个字符串

* String(int[] values) 同上面

* String(int[] values offset, num) 同上面

*

* 说明:使用String的构造方法,使用字符数组和字节数组都可以构建字符串对象;

*

* (2)获取方法

* int length() 获取字符串的长度(字符个数)

* char charAt(index) 根据索引值获取字符,注意角标越界

* int indexOf(String str) 获取子串在字符串中第一次出现的位置,如果没有返回-1

* int lastIndexOf(String str)查找子串在字符串中最后一次出现的位置,没有返回-1;

*

* (3)判断的方法

* boolean endsWIdth(String str) 判断是否以指定子串结束;

* boolean startWith(String str) 判断是否以指定子串开始;

* boolean isEmpty() 判断是为空长度为0;

* boolean contains(chaeSequence) 是否包含指定的字符序列;

* boolean equals(String str) 判断两个字符串的内容是否相等,区分大小写;

* boolean esuqlsIgnorceCase(String str) 忽略大小写比较内容是否一致;

*

* (4)转换方法

* char[] toCHarArray() 将字符串转换成字符数组

*  byte[] getBytes() 将字符串转换成字符对应的ASSIC码值;

*

* 说明:字符串、字节数组和字符数组之间可以相互转换

*

*(5)其他方法

* String replace(oldCHar, newChar); 替换,全部替换

* String[] split(separator) 使用分隔符切割

* String[] split(separator,int limit) 分割成limit段

* String substring(int startIndex) 从startIndex开始截取

* String substring(int startIndex, int endIndex) 从startIndex截取到endIndex的字符串

* String toUppercase() 转换为大写字母

* String toLowercase() 转换为小写字母

* String trim() 清除字符串两边的空格

推荐阅读更多精彩内容