Java进阶学习(一) String类2014-08-28之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础。在Java进阶中,我将对Java基础进行补充,并转向应用层面。大部分编程语言都能够处理字符串(String)。字符串是有序的字符集合,比如"Hello World!"。在Java中,字符串被存储为String类对象。调用字符串对象的方法,可以实现字符串相关的操作。String类包含在java.lang包中。这个包会在Java启动的时候自动import,所以可以当做一个内置类(built-in class)。我们不需要显式的使用import引入String类。
创建字符串
我们之前使用类来创建对象。需要注意的时候,创建String类对象不需要new关键字。比如:
public class Test { public static void main(String[] args) { String s = "Hello World!"; System.out.println(s);} }实际上,当你写出一个"Hello World"表达式时,内存中就已经创建了该对象。如果使用new String("Hello World!"),会重复创建出一个字符串对象。

An ObjectString类是唯一一个不需要new关键字来创建对象的类。使用的时候需要注意。
字符串操作
可以用+实现字符串的连接(concatenate),比如:"abc" + s字符串的操作大都通过字符串的相应方法实现,比如下面的方法:方法 效果s.length() 返回s字符串长度s.charAt(2) 返回s字符串中下标为2的字符s.substring(0, 4) 返回s字符串中下标0到4的子字符串s.indexOf("Hello") 返回子字符串"Hello"的下标s.startsWith(" ") 判断s是否以空格开始s.endsWith("oo") 判断s是否以"oo"结束s.equals("Good World!") 判断s是否等于"Good World!" ==只能判断字符串是否保存在同一位置。需要使用equals()判断字符串的内容是否相同。s.compareTo("Hello Nerd!") 比较s字符串与"Hello Nerd!"在词典中的顺序, 返回一个整数,如果<0,说明s在"Hello Nerd!"之前; 如果>0,说明s在"Hello Nerd!"之后; 如果==0,说明s与"Hello Nerd!"相等。s.trim() 去掉s前后的空格字符串,并返回新的字符串s.toUpperCase() 将s转换为大写字母,并返回新的字符串s.toLowerCase() 将s转换为小写,并返回新的字符串s.replace("World", "Universe") 将"World"替换为"Universe",并返回新的字符串