1.String类

1.1String类的概念和储存结构:

(1)字符串是一个比较特殊的对象,可以使用new,也可以不使用new来创建字符串对象

String s1 = new String("abc"); 堆

String str = "abc"; 常量池
String str2 = "abc";

两者的区别:一个在堆中,一个在常量池中
常量池:方法区的一部分,字符串在常量池里面保存一份

 

(2)字符串是不可变量,一旦初始化就不可以被改变
String s1 = "abc";(直接使用用字符串字面量)
s1 = s1 + "123";//s1变量指向变了(指向了"abc123"),并不是字符串变了。

java常用类与包装类--常用类字符串String类、StringBuffer类、Stringbuilder类

面试题:以下语句创建了几个对象?
String str1 = new String("abc");

一个或者两个:
如果之前常量池里有"abc"了,就在堆中创建一个对象;
如果常量池里没有"abc"对象,则先在常量池中把"abc"创建出来,然后再到堆空间中创建对象.
面试题

相关文章:

  • 2022-12-23
  • 2021-06-18
  • 2021-05-23
  • 2022-01-28
  • 2021-10-12
  • 2021-07-06
  • 2021-05-26
  • 2021-11-27
猜你喜欢
  • 2022-01-12
  • 2021-06-30
  • 2022-01-30
  • 2021-08-25
  • 2021-09-13
  • 2022-12-23
  • 2021-05-08
相关资源
相似解决方案