String字符串逆序输出的两种方式
程序员文章站
2022-07-05 14:22:25
...
String字符串逆序输出
String字符串的之间的各类转化操作
http://blog.csdn.net/sunrainamazing/article/details/71583685
判断是否为回文字符串,逆序输出字符串
http://blog.csdn.net/sunrainamazing/article/details/55222791
package sun.rain.amazing.str;
import java.util.Optional;
/**
* Created by sunRainAmazing on SUN_RAIN_AMAZING
* @author sunRainAmazing
*/
public class ReverseString {
public static void main(String[] args){
System.out.println(reverse_substring("12345来濑馑"));
}
/**
* 根据 char[] toCharArray()
* 将此字符串转换为一个新的字符数组。
* @param str
* @return
*/
public static String reverse_toCharArray(String str){
if(isNull(str)) {
return "";
}
StringBuffer sb = new StringBuffer();
char[] ch = str.toCharArray();
for(int i=ch.length-1; i>=0; i--){
sb.append(ch[i]);
}
return sb.toString();
}
/**
* String substring(int beginIndex, int endIndex)
* 返回一个新字符串,它是此字符串的一个子字符串。
* @param str
* @return
*/
public static String reverse_substring(String str){
if(isNull(str)) {
return "";
}
StringBuffer sb = new StringBuffer();
int length = str.length();
for(int i=length-1; i>=0; i--){
sb.append(str.substring(i,i+1));
}
return sb.toString();
}
/**
* 判断字符串是否为 null或者是空字符串
* 控制空指针异常
* @param str
* @return
*/
public static boolean isNull(String str){
// return getLength(str) <= 0;
return getStrLength(str) < 1;
}
/**
* 控制空指针异常
* 字符串为 null或者是空字符串 --返回0
* 否则返回对应的长度
* @param str 字符串
* @return 不为空 返回真实长度 否则 返回0
*/
public static int getLength(String str){
return Optional.ofNullable(str).orElse("").length();
}
/**
* 注意其语言版本要为 Java8才会支持lambda表达式
* 否则报错 ---
* Method references are not supported at this language level
* 求字符串的长度
* 控制空指针异常
* 字符串为 null或者是空字符串 --返回0
* @param str 字符串
* @return 不为空 返回真实长度 否则 返回0
*/
public static int getStrLength(String str){
return Optional.ofNullable(str).map(String::length).orElse(0);
}
/**
* 原始方式 求字符串的长度
* 控制空指针异常
* 字符串为 null或者是空字符串 --返回0
* @param str 字符串
* @return 不为空 返回真实长度 否则 返回0
*/
public static int getStrLength1(String str){
if(str==null){
return 0;
}
return str.length();
}
}