package com.test5;
import org.junit.Test;
public class Main2 {
//指定位置进行字符串的反转。
/*
通过char数组
*/
public String reverse(String str,int startIndex,int endIndex){
System.out.println("原字符为:"+str);
char[] arr=str.toCharArray();
for (int i = startIndex,j=endIndex; i<j ; i++,j--) {
char temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
return new String(arr);
}
/*
使用 StringBuilder, StringBuffer效率高!
要根据线程安全来选择。
*/
public String reverse1(String str,int startIndex,int endIndex){
if(null!=str){
StringBuilder sb=new StringBuilder(str.length());
sb.append(str.substring(0,startIndex));
for(int i=endIndex;i>=startIndex;i--){
sb.append(str.charAt(i));
}
sb.append(str.substring(endIndex+1));
return sb.toString();
}
return null;
}
@Test
public void test1(){
Main2 m=new Main2();
String info= m.reverse1("abc123xyz",3,8);
System.out.println(info);
}
}
java实现任意指定截取位置来进行字符串的反转
最新推荐文章于 2024-08-05 03:57:30 发布