java中两个字符串的内存地址相同
既然两个字符串的内存地址相同,那么为什么改动一个字符串的内容,另一个字符串不随之改变publicstaticvoidmain(String[]args){Strings1...
既然两个字符串的内存地址相同,那么为什么改动一个字符串的内容,另一个字符串不随之改变
public static void main(String[] args) {
String s1 = new String("I am a student");
String s4 = s1;
if(s1 == s4) {
System.out.println("这两个字符串的内存位置相同");
}
s4 = s4.replace('a', 'A');
System.out.println(s4);
System.out.println(s1);
if(s1 == s4) { //此时s1和s4的内存地址已经不同了,那么s4的内存地址又变到了哪里去了呢,声明好的字符串怎么内存地址可以随便变的呢
System.out.println("这两个字符串的内存位置相同");
}
} 展开
public static void main(String[] args) {
String s1 = new String("I am a student");
String s4 = s1;
if(s1 == s4) {
System.out.println("这两个字符串的内存位置相同");
}
s4 = s4.replace('a', 'A');
System.out.println(s4);
System.out.println(s1);
if(s1 == s4) { //此时s1和s4的内存地址已经不同了,那么s4的内存地址又变到了哪里去了呢,声明好的字符串怎么内存地址可以随便变的呢
System.out.println("这两个字符串的内存位置相同");
}
} 展开
7个回答
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String s4 = new String("I am a student"); 这样子结果就完全不一样了,试试比较比较?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询