public class Test6 {
public static void main(String[] args) {
String s = "abc";
s.substring(1);
s.replace("bc", "xyz");
System.out.println(s);
String value = new String ("abc");
System.out.println(s == value);
/*
* s.substring(1);的作用是从第一个位置输出输出的结果也就是"bc"但是字符串s不变
* s.replace("bc", "xyz");的作用是用xyz替换s中所有的bc,同样s也不便。
* 由于==是比较两个数的地址值虽然s和value都是abc但是地址值不同所以不等,返回false
* 因为String s = "abc"定义的abc是存在常量池里面的有一个地址值,而在String value = new String ("abc");
* 中常量池中的abc地址值给了value,但是指向栈的地址值在堆空间创建了一个实体的地址值与常量池赋给value的地址值不同,
* 所以返回的是false |