字符串在Java编程中广泛使用的字符串是一系列字符,在Java编程语言中,字符串是对象。Java平台提供String类来创建和操作字符串。创建字符串创建字符串的最直接方法是编写:String greeting = “Hello world!";在这种情况下,“Hello world!“是一个字符串文字 — 代码中的一系列字符,用双引号括起来,每当它在代码中遇到字符串文字时,编译器就会创建一个带有其值的String对象 — 在本例中为Hello world!。与任何其他对象一样,你可以使用new关键字和构造函数创建String对象,String类有13个构造函数,允许你使用不同的源提供字符串的初始值,例如字符数组:char[] helloArray = { ‘h’, ’e’, ’l’, ’l’, ‘o’, ‘.’ };String helloString = new String(helloArray);System.out.println(helloString);此代码段的最后一行显示hello.。注意:String类是不可变的,因此一旦创建,就无法更改String对象,String类有许多方法,其中一些将在下面讨论,似乎可以修改字符串,由于字符串是不可变的,因此这些方法真正做的是创建并返回包含操作结果的新字符串。字符串长度用于获取对象信息的方法称为访问器方法,可以与字符串一起使用的一种访问器方法是length()方法,它返回字符串对象中包含的字符数,在执行以下两行代码后,len等于17:String palindrome = “Dot saw I was Tod”;int len = palindrome.length();palindrome是一个对称的单词或句子 — 它向前和向后拼写相同,忽略大小写和标点符号,这是一个简短而低效的程序来反转palindrome字符串,它调用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);连接字符串String类包括用于连接两个字符串的方法:string1.concat(string2);这将返回一个新字符串,该字符串为string1,并在末尾添加了string2。你还可以将concat()方法与字符串文字一起使用,如下所示:“My name is “.concat(“Rumplestiltskin”);字符串通常使用+运算符连接,如:“Hello,” + " world” + “!“结果是:“Hello, world!"+运算符广泛用于打印语句,例如:String string1 = “saw I was “;System.out.println(“Dot " + string1 + “Tod”);这将打印:Dot saw I was Tod这种连接可以是任何对象的混合,对于不是String的每个对象,调用其toString()方法将其转换为String。注意:Java编程语言不允许文字字符串跨越源文件中的行,因此必须在多行字符串中的每行末尾使用+连接运算符,例如:String quote = “Now is the time for all good " + “men to come to the aid of their country.";使用+连接运算符在行之间断开字符串在print语句中非常常见。创建格式字符串你已经看到使用printf()和format()方法来打印带有格式化数字的输出,String类有一个等效的类方法format(),它返回一个String对象而不是一个PrintStream对象。使用String的static format()方法可以创建一个可以重用的格式化字符串,而不是一次性打印语句,例如替换:System.out.printf(“The value of the float " + “variable is %f, while " + “the value of the " + “integer variable is %d, " + “and the string is %s”, floatVar, intVar, stringVar);你可以这样写:String fs;fs = String.format(“The value of the float " + “variable is %f, while " + “the value of the " + “integer variable is %d, " + " and the string is %s”, floatVar, intVar, stringVar);System.out.println(fs);上一篇:字符