package A_ShangGuiGu.String;
import org.junit.Test;
/**
* 1.String被声明为final类型的,不可被继承
* 2.String实现了Serializable接口:表示字符串是支持序列化的
* 实现了Comparable接口:表示String是可以比较大小的
* 3.String内部定义了final char[] value用于存储字符串数据
* 4.String代表不可变的字符序列,简称不可变性。
* 体现1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值
* 2.当对现有的字符串进行连接操作时,也需要重新制定内存区域重新赋值,不能使用原有的value进行赋值。
* 3.当调用String的replace方法修改指定字符或者字符串时,也必须重新指定内存区域进行重新赋值,不能使用原有的value进行赋值。
* 5.通过字面量的方式(区别于new)给一个字符串赋值,此时的字符串生命在字符串常量池中(方法区中)
* 6.字符串常量池中不会存储相同的字符串的。
*/
public class StringTest {
@Test
public void test1(){
String s1 = "abc";//字面量的定义方式
String s2 = "abc";
s1 = "hello";
System.out.println(s1==s2);//比较s1和s2的地址值
System.out.println(s1);
System.out.println(s2);
String s3 = "abc";
s3+="def";
System.out.println(s3);//abcdef
System.out.println(s2);//abc
String s4 = "abc";
String s5 = s4.replace('a', 'z');
System.out.println(s5);//zbc
System.out.println(s4);//abc
}
}
标签:String,基础,System,println,字符串,赋值,out From: https://www.cnblogs.com/zhazhawei906/p/16869623.html