最近读了一下 《深入理解java虚拟机》这本书,看后我怎么感觉对于
String str = "string";
这个语句并没有创建任何字符串对象呢?
因为还没运行到这句语句的时候string就已经存在在内存的常量池了呀,这句语句只是将string的地址返回给str变量而已。同样的对于new String("dsa");应该也就创建了一个对象而已。
有没有人能解惑,非常感谢
最近读了一下 《深入理解java虚拟机》这本书,看后我怎么感觉对于
String str = "string";
这个语句并没有创建任何字符串对象呢?
因为还没运行到这句语句的时候string就已经存在在内存的常量池了呀,这句语句只是将string的地址返回给str变量而已。同样的对于new String("dsa");应该也就创建了一个对象而已。
有没有人能解惑,非常感谢
初学者很容易把String 误认为是java一个基本数据类型。以为像int 、shot、double 、long 这样的;因为他们都可以定义直接赋值。 你把它看成Integer、Short、Double 这样封装类型就容易理解了。