java常用类一:String
String类:构造字符串对象
*常量对象:字符串常量对象那个是用双引号括起来的字符序列。例如:“你好”、“12.97”、“boy”等。
*字符串的字符使用Unicode字符编码,一个字符占两个字节
*String类较常用的构造方法:
-String s1 = new String();
-String s2 = new String(String original);
-String s3 = new String(char[] a);
-String s4 = new String(char[] a,int startIndex,int count);
--String str = "abc";与String str1 = new String("abc");区别
字符串的特性
* String是一个final类,代表不可变的字符序列
*字符串是不可变的,一个字符串对象一旦被配置,其内容是不可变的。
StringBuffer类
*java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删
*很多方法与String相同,但StringBuffer是可变长度的
*StringBuffer是一个容器
示例代码:
/*String:代表不可变的字符序列。底层使用char[]对象
*String 是final的
*/
@Test
public void test1(){
String str1 = "JavaEE";//字符串常量池
String str2 = "JavaEE";
String str3 = new String("JavaEE");//堆
String str4 = “JavaEE”+“Android”;
String str5 = “Android”;
String str6 = str1+str5;
str5 = str5+“Handoop”;
String str7 = str6.intern();
String str8 = "JavaEEAndroid";
System.out.println(str1==str2);//true
System.out.println(str1==str3);//false
System.out.println(str1.equals(str3));//true
System.out.println(str4==str6);//false
System.out.println(str4.equals(str6));//true
System.out.println(str7==str4);//true
System.out.println(str4==str8);//true
Person p1 = new Person("AA");
Person p2 = new Person("AA");
System.out.println("^^"+(p1.name==p2.name));//true
Person p3 = new Person(new String("AA"));
System.out.println("^_^"+(p1.name==p3.name));//false
}
常用函数:
public int length()
public char charAt(int index) //返回在指定index位置的字符。index从0开始
public boolean equals(Object anObject)//比较两个字符串是否相等。相等返回true。否则返回false
public int compareTo(String anotherString)
public int indexOf(String s)//返回s字符串在当前字符串中首次出现的位置。若没有,返回-1
public int indexOf(String s ,int startpoint)//返回s字符串从当前字符串startpoint位置开始
public int lastIndexOf(String s)//返回s字符串最后一次在当前字符串中出现的位子。若无,返回-1
public int lastIndexOf(String s,int startpoint)
public boolean startWith(String prefix)//判断当前字符串是否以prefix开始
public Boolean endWith(String suffix) //判断当前字符串是否以suffix结束
public boolean regionMatches(int firstStart,String other,int otherStart,int length)
判断当前字符串从firestStart开始的子串与另一个字符串other从otherStart开始,length长度的字符
@Test
public void test3(){
String str1 = "abccdefgijkbcc";
String str2 = "abcc";
String str3 = "bcc";
System.out.println(str2.length());//4
System.out.println(str1.charAt(10));//j
System.out.println(str1.equals(str2));//false
System.out.println(str2.equals("abcc"));//true
System.out.println(str1.compareTo(str2));//11
System.out.println(str1.indexOf(str3));//1
System.out.println(str1.lastIndexOf(str3));//12
System.out.println(str1.regionMatches(10,str3,0,str3.length()));//false
}
public String substring(int startpoint)
public String substring(int start,int end)
//返回从start开始到end结束的一个左闭右开的子串。start可以从0开始
public String replace(char oldChar,char newChar)
public String replaceAll(String old,String new)
public String trim()
public String concat(String str)//链接当前字符串与str
public String[] split(String regex)//按照regex将当前字符串拆分,拆分为多个字符串,整体返回为一个字符串数组
@Test
public void test4(){
String str1 = "北京我爱你!";
String str2 = "杭州我爱你";
String str3 = str1.substring(2);
System.out.println(str3);
System.out.println(str1);
String str4 = str1.replace("北京",“南京”);
System.out.println(str4);
System.out.println(str1);
String str5 = " abc d ";
String str6 = str5.trim();
System.out.println("------"+str6+"------");
System.out.println("-----------"+str5+"--------");
String str7 = str1.concat(str2);
System.out.println(str7);
String str8 = "abc*d-e7f-ke";
String[] strs = str8.split("-");
String[] strss = str8.split("-",2);
for(int i = 0;i<strss.length;i++){
System.out.println(strss[i]);
}
}
字符串类型转换
1、字符串与基本数据类型、包装类之间转换
*字符串>基本数据类型、包装类:调用相应的包装类的parseXxx(String str);
*基本数据类型、包装类>字符串:调用字符串的重载的valueOf()方法
2、字符串与字节数组之间的转换
*字符串>字节数组:调用字符穿的getBytes()
*字节数组>字符串:调用字符串的构造方法
3、字符串与字符数组的转换
*字符串>字符数组:调用字符串的toCharArray()
*字符数组>字符串:调用字符串的构造器
@Test
public void test5(){
//1、字符串与基本数据类型、包装类之间转换
String strq ="123";
int i = Integer.parseInt(strq);
System.out.println(i);
String str2 = i+"";
str2 = String.valueOf(i);
System.out.println(str2);
//2、字符串与字节数组间的转换
String str = "abcd123";
byte[] b = str.getBytes();
for(int j = 0;j<b.length;j++){
System.out.println((char)b[j]);
}
String str1 = new String(b);
System.out.println(str1);
//3、字符串与字符数组间的转换
String str4 = "abc123中国";
char[] c = str4.toCharArray();
for(int j = 0;j<c.length;j++){
System.out.println(c[j]);
}
String str5 = new String(c);
System.out.println(str5);
}

浙公网安备 33010602011771号