Java String类及其方法

Java String类及其方法字符串是一系列字符,例如"Hello"是一个包含 5 个字符的字符串。在 java 中,字符串是一个不可变对象,这意味着它是常量,一旦创建就无法更改。在本教程中,我们将详细了解String类和String方法以及许多其他 Java String教程。

创建一个字符串

有两种方法可以在 Java 中创建String

  1. 字符串字面量
  2. 使用new关键字

字符串字面量

在 java 中,可以像这样创建字符串:将字符串字面值分配给String实例:

String str1 = "Welcome";
String str2 = "Welcome";

这种方法的问题:正如我在开头所说的那样,String是 Java 中的一个对象。但是我们没有使用上面的new关键字创建任何字符串对象。编译器为我们执行该任务它创建了一个字符串对象,该字符串对象具有字符串字面值(我们已经提供,在这种情况下它是"Welcome")并将其分配给提供的字符串实例。

但是如果对象已经存在于内存中它不会创建新的对象,而是将同一个旧对象分配给新实例,这意味着即使我们上面有两个字符串实例(str1str2)编译器仅创建一个(具有值"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
赞(1)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址