读书人

基础String种0523

发布时间: 2012-09-10 11:02:32 作者: rapoo

基础——String类0523

package cn.mmc.day13;public class StringTest {/*String类适用于描述字符串事物。那么它就提供了多个方法对字符串进行操作。常见的操作有哪些?"abcd"1,获取。1.1 字符串中的包含的字符数,也就是字符串的长度。int length():获取长度。1.2 根据位置获取位置上某个字符。char charAt(int index):1.3 根据字符获取该字符在字符串中位置。int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。(参数传的是ascii码)//当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException。int indexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中出现的位置。//如果没有找到,返回-1.int indexOf(String str):返回的是str在字符串中第一次出现的位置。int indexOf(String str, int fromIndex) :从fromIndex指定位置开始,获取str在字符串中出现的位置。int lastIndexOf(int ch) ://反向索引一个字符出现位置。但是字符串的角标还是在从左到右,从0开始2,判断。2.1 字符串中是否包含某一个子串。boolean contains(str):    contains(CharSequence s) CharSequence是接口,下面有已知实现类: CharBuffer, Segment, String, StringBuffer, StringBuilder 特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在。所以,也可以用于对指定判断是否包含。if(str.indexOf("aa")!=-1)而且该方法即可以判断,有可以获取出现的位置。2.2 字符中是否有内容。java1.6后才有boolean isEmpty(): 原理就是判断长度是否为0. 2.3 字符串是否是以指定内容开头。boolean startsWith(str);2.4 字符串是否是以指定内容结尾。boolean endsWith(str);2.5 判断字符串内容是否相同。复写了Object类中的equals方法。boolean equals(str);2.6 判断内容是否相同,并忽略大小写。boolean equalsIgnoreCase(str);3,转换。3.1 将字符数组转成字符串。构造函数:String(char[])  String(char[],offset,count):将字符数组中的一部分转成字符串。静态方法:static String copyValueOf(char[]);static String copyValueOf(char[] data, int offset, int count) static String valueOf(char[]):3.2 将字符串转成字符数组。**char[] toCharArray():3.3 将字节数组转成字符串。String(byte[])String(byte[],offset,count):将字节数组中的一部分转成字符串。3.4 将字符串转成字节数组。byte[]  getBytes():3.5 将基本数据类型转成字符串。static String valueOf(int)static String valueOf(double)//3+"";//String.valueOf(3);特殊:字符串和字节数组在转换过程中,是可以指定编码表的。4,替换String replace(oldchar,newchar);//String s1 = s.replace('q','n');//如果要替换的字符不存在,返回的还是原串。5,切割String[] split(regex);6,子串。获取字符串中的一部分。String substring(begin);//从指定位置到结尾。如果角标不存在,会出现字符串角标越界异常String substring(begin,end);//包含头,不包含尾。//取出整个字符串substring(0,s.length())7,转换,去除空格,比较。7.1 将字符串转成大写或则小写。 String toUpperCase(); String toLowerCase();7.2 将字符串两端的多个空格去除。String trim();7.3 对两个字符串进行自然顺序的比较。//按字典顺序比较两个字符串。int compareTo(string);*//** * 应用场景 */public static void method_is(){String str = "ArrayDemo.java";//判断文件名称是否是Array单词开头。sop(str.startsWith("Array"));//判断文件名称是否是.java的文件。sop(str.endsWith(".java"));//判断文件中是否包含Demosop(str.contains(".java"));}/** * @param args */public static void main(String[] args) {String s1="abc";//s1是一个类类型变量,"abc"是一个对象//字符串的最大特点:一旦被初始化就不可以被改变s1="kk";//"abc"对象还存在,s1先指向“abc”对象,现在s1指向“kk”对象//"abc"对象的内容没有变化,s1的地址变化了//s1和s2有什么区别?/*s1在内存中有一个对象, * s2在内存中有两个对象 */String s2=new String("abc");//s1==s2和s1.equal(s2)//String类覆写了Object类的equal方法,该方法用于判断字符串内容是否相同}/** * 四个特点: * 1.字符串是一个对象 * 2.字符串是一个常量 * 3.s1和s2的比较,有什么区别 * 4.s1.equal(s2)方法和s1==s2的区别 *///java1.5新特性,基本数据类型的类型提升,装箱public static void sop(Object obj){System.out.println(obj);}public static void stingMethod(){String s1="abc";String s2=new String("abc");String s3="abc";System.out.println(s1==s2);//falseSystem.out.println(s1==s3);//true}}

读书人网 >编程

热点推荐