用于获取对象信息的方法称为访问器方法。可以对字符串使用的一种访问器方法是length()方法,它返回字符串对象中包含的字符数。执行完以下两行代码后,len等于 17:
String palindrome = "Dot saw I was Tod"; int len = palindrome.length();
回文是一个对称的单词或句子——前后拼写相同,忽略大小写和标点符号。这是一个用于反转回文字符串的简短且低效的程序。它调用String方法charAt(i),该方法返回字符串中的第i个字符,从 0 开始计数。
public class StringDemo { public static void main(String[] args) { String palindrome = "Dot saw I was Tod"; int len = palindrome.length(); char[] tempCharArray = new char[len]; char[] charArray = new char[len]; // put original string in an // array of chars for (int i = 0; i < len; i++) { tempCharArray[i] = palindrome.charAt(i); } // reverse array of chars for (int j = 0; j < len; j++) { charArray[j] = tempCharArray[len - 1 - j]; } String reversePalindrome = new String(charArray); System.out.println(reversePalindrome); } }
运行程序会产生以下输出:
doT saw I was toD
为了完成字符串反转,程序必须将字符串转换为字符数组(第一次for循环),将数组反转为第二个数组(第二次for循环),然后再转换回字符串。该类String包含一个方法,getChars()用于将字符串或字符串的一部分转换为字符数组,因此我们可以将上面程序中的第一个 for 循环替换为
palindrome.getChars(0, len, tempCharArray, 0);