字符串的声明
字符串是内存中连续排列的0个或多个字符。不变字符串是指字符串一旦创建,其内容就不能改变,Java中使用String类来处理不变字符串,在对String类的实例进行查找、比较、拼接等操作时,既不能输入新字符,又不能改变字符串的长度。
Java程序中的字符串分为常量和变量两种,其中,字符串常量使用双引号括起来的一串字符,系统为程序中出现的字符串常量自动创建一个String对象。例如:
System.out.println("hello world!");
这句话将创建一个String对象,值为“hello world!”。
对于字符串变量,在使用之前要显式声明,并进行初始化。
字符串的声明方式有三种:
- 直接创建: String str1 = "Hello";
字符串是对象,虽然我们在这里没有用new创建对象,其实是编译器给我们做了这些操作。这种创建的字符串对象有一个特点,如果同样的对象如果存在了,就不会创建一个新的对象,而是指向了同样的对象。例如String str2 = "Hello";,则str1和str2是指向了字符串池中同样的内存地址,即 str1 == str2。
- 使用字符串连接创建: String str = "Hello" + "World";
这种形式其实可以看做是第一种的形式的特殊形式。 "Hello" + "World"在编译期会被自动折叠为常量“HelloWorld”,所以,最后只