字符串和StringBuilder中的字符的内部存储是什么?
1、String类型使用散列表进行优化, 当创建了字符串"china"这个字符串的时候,当再创建这个字符串的时候,编译器是不会再去开辟新的内存来存储的。它会直接指向第一次创建的地址。 2.String声明之后在内存中大小是不可修改的,每次修改都会重新分配内存,而StringBuilder可以自由扩展大小(String分配在栈区,StringBuilder分配在堆区),当需要对字符串频繁修改时,使用StringBuilder可以节省开销。
举一反三
- 字符常量和字符串常量的区别是什么?怎么存储字符串?
- 字符串的长度是()。? 串中不同字母的个数|串中所含字符的个数|串中所含字符的个数且字符个数大于零|串中不同字符的个数
- 字符串的长度是( )。 A: 串中所含字符的个数 B: 串中不同字符的个数 C: 串中不同字母的个数 D: 串中所含字符的个数且字符个数大于零
- 字符串的长度是: A: 串中不同字符的个数 B: 串中不同字母的个数 C: 串中所含字符的个数且字符个数大于0 D: 串中所含字符的个数
- 18.4______ (字符数组名1,字符数组名2)把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。
内容
- 0
字符串可以存储在字符数组中,也可以存储在字符型指针变量中
- 1
字符串以Unicode编码存储,因此,字符串的英文字符和中文字符都算作1个字符。
- 2
一个字符串中任意个连续字符成为该串的子串。
- 3
系统存储时字符串时,只要存储字符串中所有字符便可。
- 4
【简答题】输入一个包含数字和其他字符的字符串, 并通过 字符指针 来存储该字符串。统计并打印该字符串中数字字符的个数。 说明: 记得为 字符指针 开辟堆空间。 例如, 字符串 “a123x45?#7” 中包含 6 个数字字符