学习笔记JavaAPI之String类 [size=10.5000pt]一、所属包java.lang.String,没有子类。特点:一旦被初始化就不可以被改变。 创建类对象的两种方式: String s1 = “abc”; String s1 = new String(“abc”); 内存存在方式: String Str = “jack”这个语句会先检查字符串常量池是否存放这个”jack1”这个字符串对象,如果没有存在,那么就会在字符串常量池中创建这个字符串对象,如果存在直接返回该字符串的内存地址值。 String str3 = new String(“jack”) 该语句会创建两个对象,首先会先检查字符串常量池中存不存在jack这个字符串对象,如果不存在就会创建,如果存在就返回内存地址值。创建了出来之后,new String这个语句就会在堆内存中开辟一个字符串对象。总共两个对象。 注意:equals比较的是对象的内存地址,但是String类复写了Object类中的equals方法,用于判断字符串是否相同。s1.equals(s2)为true。 [size=10.5000pt]二、对字符串操作的方法 [size=10.5000pt]1、获取方法: 1.1:int length() 字符串的长度 1.2:char charAt(int index) 特定位置的字符 (角标越界报错) 1.3:int indexOf(int ch) 特定字符的位置(overload)(该字符多余1个返回第一个出现的位置)没有找到返回-1 Int indexOf(int ch,int fromIndex) 从指定位置开始搜索 int indexOf(String str) 子字符的位置(overload) Int indexOf(iString str,int fromIndex) 从指定位置开始搜索 1.4:int lastIndexOf(int ch) 最后一个字符的位置 [size=10.5000pt]2、判断方法: 2.1:字符串是否包含某个子串 boolean contains(CharSequences) CharSequences字符序列也可以用int indexOf(String str),返回-1说明不包含。 2.2是否以指定内容开头 Boolean startsWith(String str) 2.3是否以指定内容结尾 boolean endsWith(String str) 2.4是否为空 boolean isEmpty()是否长度为0 如:“” null V1.6 2.5是否相等 boolean equals(Object anObject) 是否相等 boolean equalsIgnoreCase(String anotherString) 忽略大小写是否相等 [size=10.5000pt]三、转换功能 3.1:将字符数组转成字符串 1)构造函数:String (char[]) String (char[],offset,count)将字符数组一部分转成字符串(offset开始,count个数) 例: Char[] arr = {‘a’,‘b’,‘c’,‘d’,‘e’}; String str = new String (arr,1,3); [size=10.5000pt] 2)静态方法: [size=10.5000pt] 3)Static String copyValue Of(char[]) [size=10.5000pt] 4)Static String copyValue Of(char[],offset,count) Static String Value Of(char[]) 3.2:将字符串转成字符数组 Char[] toCharArray(); 3.3将字节数组转成字符串 String (byte[]) String(byte[],offset,count) 3.4字符串转成字节数组 Byte[] getBytes(); 3.5:将基本数据类型转成字符串 Static String Value Of(int) Static String Value Of(double) 2+”” 四、替换方法 String replace(char old,char,new); String s=”hello java”; String s1 = s.replace(e,k); s为hello java, s1 为hkllo java String s1 = s.replace(“java”,”word”); [size=10.5000pt]五、切割方法 String[] split(regex); [size=10.5000pt]六、子串,获取 String substring(int beginindex,int endindex)包含头不包含尾 String substring(int begin) [size=10.5000pt]七、转换、去除空格、比较 7.1:大小写转换 String toUpperCase(); String toLowerCase(); 7.2:去除两端多个空格 String trim(); 7.3对两个字符串自然顺序比较 Int CompareTo() 等于0 小于 负数 大于-正数 比较的ASCII
|