Stringa变量如何用Java基础创建并初始化为abc?
- 内容介绍
- 文章标签
- 相关推荐
本文共计329个文字,预计阅读时间需要2分钟。
1. String a=abc; // 检查字符串常量池中是否存在abc,如果存在,将a指向该地址
2.String a=abc; // 检查字符串常量池中是否存在abc,如果存在,将a指向该地址
1、Stringaabc;首先在栈中定义了一个引用变量a检查字符串常量池中是否已经存在abc如果存在直接将a指向这个地址注意1、String a "abc";
首先在栈中定义了一个引用变量a检查字符串常量池中是否已经存在"abc"如果存在直接将a指向这个地址注意指向的是字符串常量池中的地址
如果字符串常量池中不存在"abc"则进行如下操作1、在栈中创建三个char型的值a,b,c然后在堆中new一个String对象它的值是刚才在栈中创建的三个char型值组成的数组{a,b,c}接着这个String对象会被存放进字符串常量池中最后将a指向这个对象在字符串常量池中的地址。
String a "abc";
等效于
char data[] {a, b, c};
String a new String(data);
2、String a new String("abc");
首先在栈中定义了一个引用变量a然后在堆中new一个String对象a指向这个对象然后new出来的String对象再指向常量池中的abc。
本文共计329个文字,预计阅读时间需要2分钟。
1. String a=abc; // 检查字符串常量池中是否存在abc,如果存在,将a指向该地址
2.String a=abc; // 检查字符串常量池中是否存在abc,如果存在,将a指向该地址
1、Stringaabc;首先在栈中定义了一个引用变量a检查字符串常量池中是否已经存在abc如果存在直接将a指向这个地址注意1、String a "abc";
首先在栈中定义了一个引用变量a检查字符串常量池中是否已经存在"abc"如果存在直接将a指向这个地址注意指向的是字符串常量池中的地址
如果字符串常量池中不存在"abc"则进行如下操作1、在栈中创建三个char型的值a,b,c然后在堆中new一个String对象它的值是刚才在栈中创建的三个char型值组成的数组{a,b,c}接着这个String对象会被存放进字符串常量池中最后将a指向这个对象在字符串常量池中的地址。
String a "abc";
等效于
char data[] {a, b, c};
String a new String(data);
2、String a new String("abc");
首先在栈中定义了一个引用变量a然后在堆中new一个String对象a指向这个对象然后new出来的String对象再指向常量池中的abc。

