由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下:
String s = “abc”;
s = “Java语言”;
其实按照面向对象的标准语法,其格式应该为:
String s = new String(“abc”);
s = new String(“Java语言”);
只是按照面向对象的标准语法,在内存使用上存在比较大的浪费。例如String s = new String(“abc”);实际上创建了两个String对象,一个是”abc”对象,存储在常量空间中,一个是使用new关键字为对象s申请的空间。
在Java中判断字符串是否相等有两种方法:一种是使用“==”运算符,该运算符表示指向字符串的引用是否相同。当a指向的字符串和b指向的字符串相等的时候返回true,a, c不相等则返回false。
pulic class Dome1{
String a = "value";
String b = "value";
String c = "valua";
System.out.println(a == b); //true
System.out.println(a == c); //false
}
另一种是使用equals方法,该方法比较的是字符串的内容是否相同。当a,b相等时返回true,a,c不相等则返回false。
pulic class Dome2{
pulic static void main(String []args){
String a = new String("value");
String b = new String("value");
String c = new String("valua");
System.out.println(a.equals(b)); //true
System.out.println(a.equals(c)); //false
}
}
Java中可以使用“+”运算符来连接字符串,也可用append方法
//这是“+”运算符的算法
public class HelloWorld {
public static void main(String[] args){
String a = "hello";
String b = " ";
String c = "world";
System.out.println(a + b + c); //hello world
}
}
//这是append方法
public class Dome4 {
public static void main(String[] args){
StringBuilder a = new StringBuilder("hello");
StringBuilder b = new StringBuilder(" ");
StringBuilder c = new StringBuilder("world");
System.out.println(a.append(b.append(c))); //hello world
}
}