我们在使用字符串截取时会遇到split()方法,split()方法可以使字符串按指定的分割字符或字符串对内容进行分割,源字符串调用split()方法后返回的是一个字符串数组,然后通过foreach()方法取到返回的字符串数组结果,
感觉自己写的有点啰嗦,下面是代码:
public class day02demo06 {
public static void main(String[] args) {
String result01 = “hellojava”;//创建第一个字符串
String result02 = “helloworld”;//创建第二个字符串
String[] sum01 = result01.split(“o”);//调用split方法截取其中“o”字符
StringBuilder sBuilder01 = new StringBuilder();//然后创建一个空的StringBuilder实例
for (String string01 : sum01) { //然后通过foreach方法拿到sum01中的字符串并添加到sBuilder01中
sBuilder01.append(string01);
}
System.out.println();
String[] sum02 = result02.split(“o”);//截取第二个字符串中的“o”过程同上
StringBuilder sBuilder02 = new StringBuilder();//过程同上
for (String string02 : sum02) {//过程同上
sBuilder02.append(string02);
}
System.out.println();
System.out.println(“StringBuilder值分别为:”+“其中sBuilder01值为:” + sBuilder01 +",sBuilder02值为:"+ sBuilder02);
System.out.println();
下面是判断两个截取后的值是否相等:
if(sum01.equals(sum02) == true)
{
System.out.println(“非StringBuilder值通过equals方法判断,sum01与sum02相同”);
}else {
System.out.println(“非StringBuilder值通过equals方法判断,sum01与sum02不同”);
}
System.out.println();
if(sBuilder01.equals(sBuilder02))
{
System.out.println(“StringBuilder值通过equals方法判断,sBuilder01与sBuilder02相同”);
}else {
System.out.println(“StringBuilder值通过equals方法判断,sBuilder01与sBuilder02不同”);
}
System.out.println();
if(sum01 == sum02)
{
System.out.println(“非StringBuilder值通过== 方法判断,sum01与sum02相同”);
}else {
System.out.println(“非StringBuilder值通过== 方法判断,sum01与sum02不同”);
}
System.out.println();
if(sBuilder01 == sBuilder02)
{
System.out.println(“StringBuilder值通过方法判断,sBuilder01与sBuilder02相同");
}else {
System.out.println("StirngBuilder值通过方法判断, sBuilder01与sBuilder02不同”);
}
}
}
输出结果是:
StringBuilder值分别为:其中sBuilder01值为:helljava,sBuilder02值为:hellwrld
非StringBuilder值通过equals方法判断,sum01与sum02不同
StringBuilder值通过equals方法判断,sBuilder01与sBuilder02不同
非StringBuilder值通过== 方法判断,sum01与sum02不同
StirngBuilder值通过==方法判断, sBuilder01与sBuilder02不同
后来度娘了一下,发现split方法截取字符串有很大的性能损耗,更好的办法是通过subString方法截取字符串,
下面实例是别人的,代码是:
public class testSplit {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String a="sanksl:sfa:sn";
String[] b= a.split(":");
String j=a.substring(2, 4);
String i2=a.substring(3);
System.out.println("String j=a.substring(2, 4);"+j);//nk 取[2,4)
System.out.println("String i2=a.substring(3);"+i2);//取[3,结尾] ksl:sfa:sn
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);//sanksl
//sfa
//sn
}
}
}**