string 类
string 类对应的包 java.lang.object àjava.lang.string
java.lang.string 类 final 修饰,不可继承
<b>两种创建string</b><b>对象方式</b>
string str =”hello string ”;
string str1 = new string(“hello string”)
char c[]= {‘h’,’e’,’l’,’l’,’o’}; 等效于
string str2 = new string(“hello”);
每一个字符串都一个常量,是不可改变的 即使使用 + 号链接,还是会创建常量对象的
第一种创建方式,在str =”hello string”; 后面默认调用intern() 方法
第二种创建方式默认不会调用次方法,所以每次一次创建就意味着新的对象产生,也可以自行调用, intern() 方法
因为string 类中的对象是存放在常量池中,所以调用intern()方法在常量池中寻找是合理的
string 类 覆写了object 中的equlas 方法
在使用string 对象的时候应该考虑对象是否为null
操作string 对象的 所有方法,在java se 帮助文档中参阅
stringbuffer与stringbuilder类
在java.lang.object类中 存在两个类,第一个是stringbuffer 类、和stringbuilder 类、stringbuilder 是在jdk1.5之后才出现的,他们两个最大的区别就是一个stringbuffer 对象在多线程中使用往往是最安全的,因为在每次使用对象的时候,都会先去判断当前对象是否正在使用中,在java中叫判断锁。而stringbuilder 在使用对象的时候不会去判断当前是否在使用对象,所以在多线程中会出现bug ,在多线程中建议使用stringbuffer ,如果在多线程中使用stringbuilder的话,则我们就要为对象进行加锁。详细信息请参考java.lang.stringbuilder 中的源代码 ,如果是单线程的话,建议使用stringbuilder,因为stringbuilder 在操作的时候不需要去判断当前对象是否处于操纵状态