10中java常见字符串操作实例
javaString类字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串。今天就为大家介绍一下java常见的字符串操作方法。
一、使用length()方法获取字符串的长度
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr="abcdefg";
//length():统计当前字符串的字符个数
inti=str.length();
System.out.println(i);
}
}
二、使用indexOf()方法查找指定字符再字符串中的位置
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr="abcdefg";
//indexOf():查找指定字符再字符串中的位置
intindex=str.indexOf("a");
System.out.println(index);
}
}
三、使用toUpperCase()方法将字符串中的字符变为了大写形式
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr="abcdefg";
//小写转大写
//toUpperCase():将字符串中的字符变为了大写形式
Stringstr=str.toUpperCase();
System.out.println(str);
}
}
四、使用toLowerCase()方法将字符串中的字符变为小写
publicclassmaintest{
publicstaticvoidmain(String[]args){
//toLowerCase():将字符串中的字符变为小写
Stringstr="WWMMDDHH";
Stringstr1=str3.toLowerCase();
System.out.println(str);
}
}
五、使用substring()方法截取字符串
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr="abcdefg";
//substring:截取字符串
Stringstr="abcdefg";
Stringstr=str5.substring(0,3);
System.out.println(str);
Stringstr=str5.substring(3);
System.out.println(str);
}
}
六、使用replaceAll()方法替换当前字符串中指定内容
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr="abcdefg";
Stringstr=str5.replaceAll("abc","xyz");
System.out.println(str);
}
}
七、使用trim()方法能够去掉当前字符串中两端的空格
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr="abcdef";
System.out.println(str.length());
Stringstr1=str9.trim();
System.out.println(str);
System.out.println(str1);
}
}
八、字符串+字符串等于拼接
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr1="123";
Stringstr2="100";
System.out.println(str1+str2);
}
}
九、将字符串变为整数
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr1="123";
Stringstr2="100";
intnum1=Integer.parseInt(str1);
intnum2=Integer.parseInt(str2);
System.out.println(num1+num2);
}
}
十、使用charAt()找到指定字符串中位置的字符
publicclassmaintest{
publicstaticvoidmain(String[]args){
Stringstr1000="abcde";
//charAt:找到指定字符串中位置的字符
charchar=str1000.charAt(2);
System.out.println(char);
}
}
java字符串的比较
总体来说java中字符串的比较是==比较引用,equals比较值的做法。(equals对于其他引用类型比较的是地址,这是因为object的equals方法比较的是引用),但是不同的声明方法字符串的比较结果也是不同的。
例如:
Stringstr1=newString("a");
Stringstr2=newString("a");
str1==str2输出false
str1.equals(str2)输出true
而如果这样声明
Stringstr1="a";
Stringstr2="a";
str1==str2输出true
str1.equals(str2)输出true
这是因为equals方法本来也是比较引用的字符串类在实现的时候重写了该方法,第一种声明方法等于是声明了两个对象,用'==‘比较是时候比较的是引用输出的是false由于他们的值相同用equals的时候就比较的是值了,输出true。
而第二种情况不是因为比较有与第一种有差异,而是因为声明有差异,第二种声明方法在声明的时候有堆或堆栈共用的现象,也就是说在声明的时候如果如果声明为类属性他会检查在堆栈中有没有与现在声明的是相同结构的字符串。如果有就直接将地址指向已有内存地址。声明在方法内部的局部变量原理一样只不过他是堆栈共享。
对应上面是示例:
第一种情况:
(1)声明一个string类型的对象str1,这个操作会在内存中示例化一个string类型的对象。
(2)再声明一个String类型的对象str2,这个操作会在内存中示例化另一个String类型的对象,与第一个对象相互独立。
(3)比较两个对象的引用,因为他们是相互独立的所以输出false
(4)比较两个对象的值,他们虽然是独立的内存区域但是有共同的内存结构(值),输出true
第二种情况:
(1)声明一个字符串str1会示例化一个String类型的对象。
(2)声明另一个字符串,现在会检查在同一作用域中有没有相同的内存结构的变量,如果有就直接将将地址指向他。
(3)==比较他们有相同的地址,
(4)equals比较他们有相同的内存结构(值)。