* String类适用于描述字符串事物:
* 那么他那提供了多个方法,对字符串进行操作。
*
* 常见操作有哪些呢?
1. 获取
* 1.1 字符串中包含的字符数,也就是字符串的长度?
* int length();获取长度
* 1.2 根据位置获取位置上某个字符?
* char charAt(int index);
* 1.3 根据字符获取该字符在字符串中的位置。
* int indexOf(int ch);返回的是ch在字符串中第一次出现的位置。
* int indexOf(int ch, int formIndex); 从formIndex指定位置开始,获取ch在字符串中的位置。
*
* int indexOf(String str);返回的是str在字符串中第一次出现的位置。
* int indexOf(String str, int formIndex);从formIndex指定位置开始,获取str在字符串中出现的位置。
*
* int lastIndexOf(int ch);
*
* 2. 判断
* 2.1 字符串中是否包含某一个字符串?
* boolean contains(str);
* 特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1。
* 表示该str不在字符串中存在,所以也可以用于对指定判断是否包含。
*
* if(str.indexOf("aa")!=-1)
* 该方法即可以判断,又可以获取出现的位置
*
* 2.2 字符串中是否有内容?
* boolean isEmpty();原理就是判断长度是否为0
*
* 2.3 字符串是否以指定内容开头?
* boolean startswith(str);
*
* 2.4 字符串是否以指定内容结尾?
* boolean endswith(str);
*
* 2.5 判断字符串的内容是否相同?复写了Object类中的equals方法
* boolean equlas(str);
*
* 2.6 判断内容是否相同,并忽略大小写?
* boolean equalsIgnoreCase();
*
*
*
*
*/
StringBuffer(是一个容器)
* 特点:-------------------------
* 1,长度是可以变化的。
* 2,可以操作多个数据类型。。、
* 3,最终会通过toString方法变成字符串
* 1, 存储
* StringBuffer append();将指定数据作为参数添加到已有数据结尾处。
* StringBuffer insert(index,数据);可以将数据插入到指定index位置
*
* 2, 删除。
* StringBuffer delete(start,end);删除缓冲区中的数据,包含start,不包含end
* StringBuffer deleteCharAt(index);删除指定位置的字符。
*
* 3,获取。
* char charAt(int index);//查单个字符
* int indexOf(String str);//查多个字符
* int lastIndexOf(String str);//从后往前查
* int length();
* String substring(int start,int end);//获取从指定位置开始到结尾处之前的字符
*
* 4,修改。
* StringBuffer replace(start,end,String);
* void setCharAt(int index, char ch);
*
* 5,反转.
* StringBuffer reverse();
*
* 6,将指定缓冲区数据,存储到指定数组中。
* void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin);
*
* JDK1.5版本之后出现了StringBuilder
* ---------------------
* StringBuffer是线程同步。
* StringBuilder是线程不同步。
* -------------------
* 以后开发建议使用StringBuilder
希望能帮助你明白两个的区别~~~ |