java中string和new string的区别
时间: 2024-01-13 16:02:45 浏览: 85
StringBuffer和String_区别
在Java中,String是一个特殊的类,它是不可变的,也就是说一旦被创建,它的值就不能被改变。在Java中,String有两种创建方式:
1. 直接赋值方式:
```java
String str1 = "hello";
String str2 = "world";
```
这种方式创建的String对象会被放入Java字符串池中,如果再次有相同的字符串需要创建,Java会直接返回已经存在的字符串对象。
2. 使用new关键字创建:
```java
String str3 = new String("hello");
String str4 = new String("world");
```
这种方式创建的String对象会在堆内存中被创建,如果再次有相同的字符串需要创建,Java会创建一个新的对象。
因此,两种方式的区别在于创建的String对象的存储位置不同,直接赋值方式创建的对象存储在字符串池中,使用new关键字创建的对象存储在堆内存中。在实际开发中,应该优先使用直接赋值方式创建String对象,以提高程序的性能。
阅读全文