Java String类及其方法,字符串是一系列字符,例如"Hello"
是一个包含 5 个字符的字符串。在 java 中,字符串是一个不可变对象,这意味着它是常量,一旦创建就无法更改。在本教程中,我们将详细了解String
类和String
方法以及许多其他 Java String
教程。
创建一个字符串
有两种方法可以在 Java 中创建String
- 字符串字面量
- 使用
new
关键字
字符串字面量
在 java 中,可以像这样创建字符串:将字符串字面值分配给String
实例:
String str1 = "Welcome";
String str2 = "Welcome";
这种方法的问题:正如我在开头所说的那样,String
是 Java 中的一个对象。但是我们没有使用上面的new
关键字创建任何字符串对象。编译器为我们执行该任务它创建了一个字符串对象,该字符串对象具有字符串字面值(我们已经提供,在这种情况下它是"Welcome"
)并将其分配给提供的字符串实例。
但是如果对象已经存在于内存中它不会创建新的对象,而是将同一个旧对象分配给新实例,这意味着即使我们上面有两个字符串实例(str1
和str2
)编译器仅创建一个(具有值"Welcome"
)并将其分配给两个实例。例如,有 10 个字符串实例具有相同的值,这意味着在内存中只有一个对象具有该值,并且所有 10 个字符串实例将指向同一个对象。
如果我们想要两个具有相同字符串的不同对象,该怎么办?为此,我们需要使用new
关键字创建字符串。
使用new
关键字
正如我们在上面看到的那样,当我们尝试将相同的字符串对象分配给两个不同的文字时,编译器只创建了一个对象并使两个文字都指向同一个对象。为了克服这种方法,我们可以创建这样的字符串:
String str1 = new String("Welcome");
String str2 = new String("Welcome");
在这种情况下,编译器将在内存中创建具有相同字符串的两个不同对象。
一个简单的 Java 字符串示例
public class Example{
public static void main(String args[]){
//creating a string by java string literal
String str = "Beginnersbook";
char arrch[]={'h','e','l','l','o'};
//converting char array arrch[] to string str2
String str2 = new String(arrch);
//creating another java string str3 by using new keyword
String str3 = new String("Java String Example");
//Displaying all the three strings
System.out.println(str);
System.out.println(str2);
System.out.println(str3);
}
}
输出:
Beginnersbook
hello
Java String Example