您的位置:首页 > 其它

J2SE第六章——常用类(一)String类

2016-11-18 19:55 295 查看
1.字符串相关类 String StringBuffer

         1.1 String

                   本质:字符数组

                   特点:不可变的字符数组java.lang.String

                   1.1.1 String 类的由来

public final class String() {
private final char value[];

public String() {
this.value = new char[0];
}

public String(char[],int offset,int count) {
//用一个字符数组从offset项开始的count个字符序列创建一个String对象
}

main() {
String s1 = new String();	<=========> String s1 = "";
char[] c2 ={'h','l','l','o'};
String s2 = new String(c2);=============本质
// 字符:单引号引起来的单个字符
// 字符串:双引号引起来的字符序列=====字符数组
}
}


1.1.2字符串的创建

                            方式: (不考虑使用字符数组的方式)

                                     方式一:通过构造函数

                                               定义变量:Strings1;

                                               创建对象:s1 = newString("abc"); //"abc"<==>{'a','b','c'}
                                                                   s1 = new String({'a','b','c'});

                                     方式二:

                                               Strings1;

                                               s1= "abc";  

 

                                     方式一和方式二,内存解析完全不同,但最后指向的字符串常量是一样的

 

                                     main(){

                                               Strings1 = "abc";  字符串常量abc 占据内存的地址赋值给s1

                                               Strings2 = new String("abc");

                                               内存解析:

                                                javac 编译class 类的加载load (特定资源初始化--静态变量+字符串常量:数据区)

                                     }
public class Test {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "world";
String s3 = "hello";
System.out.println(s1==s3); //true

s1 = new String("hello");
s2 = new String("hello");
System.out.println(s1==s2); //false;
System.out.println(s1.equals(s2));
//String类重写了从Obje类继承的equals方法,
//重写规则:当且仅当两个字符串表示相同的字符序列时候,结果为true

char[] c ={'s','u','n',' ','j','a','v','a'};
String s4 = new String(c);
String s5 = new String(c,4,4); //java
}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: