6.1.1String类String类是专门用于处理字符串的类。字符串一旦被创建,其内容就不能再改变。例如下面的代码。Strings="hello";s="helloworld";上述代码首先定义了一个类型为String的字符串s,并将其初始化为hello。接着为字符串s重新赋值为"helloworld
6.1.1 String类 String类是专门用于处理字符串的类。字符串一旦被创建,其内容就不能再改 变。例如下面的代码。 上述代码首先定义了一个类型为String的字符串s,并将其初始化为hello。接 着为字符串s重新赋值为"helloworld"。 String s = "hello"; s = "helloworld";
6.1.1String类字符串s的内存变化图:在图中,S在初始化时,其内存地址指向的是字符串常量池的"hello"字符串的地址方法区栈Oxo01。当为s重新赋值时为"helloworld字符申常量池时,程序会在常量池分配一块内存空间存?"hello"0x001Strings储"helloworld"字符串,然后将s指向"helloworld"0x002"helloworld"字符串。由此可知,s的值发生了变化,是指s的指向发生了变化,但字符串"hello"被创建之后,存储在常量池中,它的值不能被改变
6.1.1 String类 String s 栈 × 字符串常量池 "hello" 0x001 "helloworld" 0x002 方法区 字符串s的内存变化图: 在图中,s在初始化时,其内存地址指向的 是字符串常量池的"hello"字符串的地址 0x001。当为s重新赋值时为"helloworld" 时,程序会在常量池分配一块内存空间存 储"helloworld"字符串,然后将s指向 "helloworld"字符串。由此可知,s的值发 生了变化,是指s的指向发生了变化,但字 符串"hello"被创建之后,存储在常量池中 ,它的值不能被改变
6.1.1String类2.调用Strin类的构造方法初始化字符串对象,其语法格式如下。String变量名=newString(字符串)在上述语法中,字符串同样可以为空或是一个具体的字符串。当为具体字符串时,String会根据参数类型调用相应的构造方法来初始化字符串对象
6.1.1 String类 2. 调用String类的构造方法初始化字符串对象,其语法格式如下。 在上述语法中,字符串同样可以为空或是一个具体的字符串。当为具体字符串时, String会根据参数类型调用相应的构造方法来初始化字符串对象。 String 变量名 = new String(字符串);
6.1.1String类String类的常见构造方法方法声明功能描述创建一个内容为空的字符串StringoString(Stringvalue)String(Stringvalue根据指定的字符数组value创建对象String(char value)根据指定的字节数组bytes创建对象String(byte[ bytes)
6.1.1 String类 String类的常见构造方法 方法声明 功能描述 String() 创建一个内容为空的字符串 String(String value) String(String value) String(char[] value) 根据指定的字符数组value创建对象 String(byte[] bytes) 根据指定的字节数组bytes创建对象
6.1.1String类下面通过一个案例学习String类的使用。具体代码如下所示。案例演示publicclassExample01(public staticvoid main(Stringll args)throws Exception(/创建一个空的字符串Stringstr1=new StringO;//创建一个内容为abcd的字符串Stringstr2=newString(abcd")Ⅱ创建一个字符数组charcharArray=newcharlD'"E"F;Stringstr3=newString(charArray)创建一个字节数组bytearr=(97,9899);String str4=new String(arr);System.out.println("a+str1+"b");System.out.println(str2);System.out.println(str3);System.out.println(str4);
6.1.1 String类 public class Example01 { public static void main(String[] args) throws Exception { // 创建一个空的字符串 String str1 = new String(); // 创建一个内容为abcd的字符串 String str2 = new String("abcd"); // 创建一个字符数组 char[] charArray = new char[] { 'D', 'E', 'F' }; String str3 = new String(charArray); // 创建一个字节数组 byte[] arr = {97,98,99}; String str4 = new String(arr); System.out.println("a" + str1 + "b"); System.out.println(str2); System.out.println(str3); System.out.println(str4); } } 案例演示 下面通过一个案例学习String类的使用。具体代码如下所示