我如何得到一个字符串的最后一个字符?
public class Main {
public static void main(String[] args) {
String s = "test string";
//char lastChar = ???
}
}
我如何得到一个字符串的最后一个字符?
public class Main {
public static void main(String[] args) {
String s = "test string";
//char lastChar = ???
}
}
当前回答
简单的解决方法是:
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
char[] cs = str.toCharArray();
char first = cs[0];
cs[0] = cs[cs.length -1];
cs[cs.length -1] = first;
return new String(cs);
}
使用字符数组(注意讨厌的空字符串或空字符串参数!)
另一种解决方案使用StringBuilder(它通常用于做String操作,因为String本身是不可变的。
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
StringBuilder sb = new StringBuilder(str);
char first = sb.charAt(0);
sb.setCharAt(0, sb.charAt(sb.length()-1));
sb.setCharAt(sb.length()-1, first);
return sb.toString();
}
还有一种方法(更多的是为了指导而不是实际使用)是这样的:
public String frontBack(String str) {
if (str == null || str.length() < 2) {
return str;
}
StringBuilder sb = new StringBuilder(str);
String sub = sb.substring(1, sb.length() -1);
return sb.reverse().replace(1, sb.length() -1, sub).toString();
}
在这里,完整的字符串被反转,然后不应该反转的部分被子字符串替换。;)
其他回答
public char lastChar(String s) {
if (s == "" || s == null)
return ' ';
char lc = s.charAt(s.length() - 1);
return lc;
}
下面是一个使用String.charAt()的方法:
String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));
结果输出是last char = a。
试试这个:
if (s.charAt(0) == s.charAt(s.length() - 1))
其他答案是非常完整的,如果您试图找到字符串的最后一个字符,您一定要使用它们。但如果你只是想使用一个条件句(例如是最后一个字符'g'),你也可以这样做:
if (str.endsWith("g")) {
或者,字符串
if (str.endsWith("bar")) {
简单的解决方法是:
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
char[] cs = str.toCharArray();
char first = cs[0];
cs[0] = cs[cs.length -1];
cs[cs.length -1] = first;
return new String(cs);
}
使用字符数组(注意讨厌的空字符串或空字符串参数!)
另一种解决方案使用StringBuilder(它通常用于做String操作,因为String本身是不可变的。
public String frontBack(String str) {
if (str == null || str.length() == 0) {
return str;
}
StringBuilder sb = new StringBuilder(str);
char first = sb.charAt(0);
sb.setCharAt(0, sb.charAt(sb.length()-1));
sb.setCharAt(sb.length()-1, first);
return sb.toString();
}
还有一种方法(更多的是为了指导而不是实际使用)是这样的:
public String frontBack(String str) {
if (str == null || str.length() < 2) {
return str;
}
StringBuilder sb = new StringBuilder(str);
String sub = sb.substring(1, sb.length() -1);
return sb.reverse().replace(1, sb.length() -1, sub).toString();
}
在这里,完整的字符串被反转,然后不应该反转的部分被子字符串替换。;)