String类:创建方式与常用方法
创建方式分为:字面量创建与构造器对象创建,String类的特点是不可变性,
1 package CommonClass; 2 3 import org.junit.Test; 4 5 /** 6 * String类的使用: 7 * 一: 8 * 1:String类是final不可继承的太监类 9 * 2:String类实现了Comparable接口,所以字符串可以比较大小 10 * 3:String类定义了final char[] value 用于存储字符串数据 11 * 4:String类代表不可变的字符序列,成为不可变性 12 * 体现: 1:对于字符串重新赋值时,需要重写指定内存区域,不可以在原有的基础上进行赋值 13 * 2:对于现有的字符串进行拼接操作时,也需要重新指定内存区域, 14 * 3:调用replace方法也是创建一个新的字符串,原有的字符串不会改变 15 **************************** 16 * 二:String类对象的创建: 17 * 1:String name="hpp";:通过字面量定义的方式 18 * 2:String s=new String(); 通过构造器的方式定义 19 * 3:String s1=new String(original value) 也是构造器 20 * // String s1="abc" 与String s2=new String("abc")的区别: 21 * s1 的abc放在字符串常量池中,s2的abc放在堆中 22 **************************** 23 * 三:String字面量的拼接: 24 * 结论:有变量名参与的拼接操作在堆空间中地址值不相等,两个字面量的拼接还在常量池中就相等 25 */ 26 public class StringTest { 27 @Test 28 public void test1(){ 29 String s1="hp"; 30 String s2="hpp"; 31 s1="hpp"; 32 System.out.println(s2==s1); 33 //拼接操作 34 String s3="huang"; 35 String s4=s3+"132612"; 36 System.out.println(s4); 37 //调用replace方法 38 String s5=s3.replace('h','p'); 39 System.out.println(s5); 40 } 41 @Test 42 public void test2(){ 43 String name="123";//字面量定义的方式 44 String name1=new String("123");//构造器定义的方式 45 String name2=new String("123"); 46 String name3=name+"hpp"; 47 System.out.println(name==name1);//两种不同的实例化方式对象的地址值不一样 48 System.out.println(name1==name2);//两个对象的地址值是不一样的 49 System.out.println(name==name3);//对于有变量名参与的拼接地址值不一样 50 } 51 }
String类常用方法:length,replace替换,charAt获取指定位置的字符,isEmpty字符串是否为空,
tolowercase,touppercase转换大小写,compareto比较字符串大小:ASCII码
1 /** 2 * String类的常用方法: 3 * 1:int length():获取字符串长度 4 * 2:char charAt(index):获取指定位置上的字符 5 * 3:boolean isEmpty():判断字符串时是否为空 6 * 4:toLowercase():变成小写 7 * 5:toUppercase():变成大写 8 * 6:compareTo(String str2):比较两个字符串大小(比较ASCII码值)从前往后匹配,只要匹配到一个字符串不同就停止 9 * 输出ASCII码的差值 10 * 7:boolean StartWith(String str):判断是否以指定的字符串为前缀 11 * 8:boolean EndsWith(String str):判断是否以指定的字符串为后缀 12 * 9:int indexOf(String str):从左往右返回指定字符串在当前字符串的索引位置 13 * 10:int lastIndexOf(String str):从右往左返回 14 * 11:String replace(oldChar'',newChar''):将字符串中指定的的单个字符全部替换 15 * 12:String replace(target"",replacement""):将字符串中指定的的字符串全部替换 16 * 13: 17 * 18 * 19 */ 20 public class StringMethodsTest { 21 @Test 22 public void test1(){ 23 String s="Huang";//a=65,A=97 24 String s3="GuAn"; 25 String ss="Huang132ang@"; 26 System.out.println(ss.replace("ang","黄鹏")); 27 System.out.println(ss.startsWith("Hua")); 28 System.out.println(ss.indexOf("u")); 29 System.out.println(s.length()); 30 System.out.println(s.charAt(4)); 31 System.out.println(s.isEmpty()); 32 String s1=s.toLowerCase(); 33 String s2=s.toUpperCase(); 34 System.out.println(s1+"\t"+s2); 35 System.out.println(s.compareTo(s3)); 36 } 37 }
浙公网安备 33010602011771号