1。String字符串一旦建立,其内容是不能改变的。我们看到的改变其实只是新建了一个字符串。如果需要变长字符串,可以用StringBuffer
2。构造:可以用字符数组(ASC码整数数组)构造,并可以在构造函数中制定startIndex和numChars。(注意:用数组创建字符串时,字符串是新建的(占用自己的内存空间),所以数组内容如果再变,是不会影响字符串的)
3。操作:长度length()。连接"+" 。对于非字符串类型也可以用+进行连接:连接过程中,当Java转换数据为它的字符串形式时,是通过调用valueOf 方法实现的,valueOf 被所有的简单数据类型(转换为字面可读值)和Object类型(调用toString方法) 重载。
4。字符提取:取单字符charAt, 取多个字符getChars, 存储在字节数组中getBytes
5。字符串比较:equals(), equalsIgnoreCase(), 特定区域比较regionMatches(),判断首尾startsWith()、endsWith(),比较compareTo(). (对于equals()和==的比较说明:equals比较的是内容,==比较的是引用(内存地址))
6。查找:indexOf() / lastIndexOf(),字符或子串第一次/最后一次出现处
7。修改:提取子串substring, 连接concat( 类+), 字符替换replace,去空格trim
8。valueOf:获得其他类型的字符串形式
9。大小写:toLowerCase() / toUpperCase()
10。StringBuffer:可增长,可写的字符序列,一般建立时会预留空间(16个字符)。
11。函数:lengh()获得长度/capacity()获得分配的总空间,ensureCapacity()设定缓冲区(预留空间)的大小,setLength()设置长度(过短将导致字符丢失),charAt和setCharAt, getChars, append()(String的+操作其实是调用StringBuffer的append,然后toString),insert, reverse(反转), delete/delectCharAt, repalce, subString。
小结并复习一下,这部分比较常用
其他类型转字符串
valueOf
无需创建对象就可使用的方法 String str=String.valueOf(其他类型变量);
拓展字符串
用加号加就可以 str=str+"是的";
或者用 concat发法。a=String.concat("是的");
StringBuffer才用 append方法
截取单个字符
charAt(字符下标)
截取字符串
substring(startindex)
substring(startindex,endindex)
截取字符串并赋予字符数组
getChars(sourceStart,sourceEnd,char target[],int targetStart) 截取从sourceStart到sourceEnd-1的字符串,下标从0开始
把整个字符串转化为字符数组
char[] toCharArray()
把字符串存于字节数组
byte[] getByes()
字符串中字符替换
replace(char a,char b)
字符串中子字符串替换
replaceAll(String a ,String b)
字符串比较
equals()
大写转小写
String toLowerCase()
小写转大写
String toUpperCase()
搜索字符串
搜索字符首次出现在字符串中的下标
indexOf() 失败返回-1
搜索字符最后出现在字符串中的下标
lastIndexOf() 失败返回-1