Java的字符串String类的问题

在Java中,
string str="Hello";

String str=new String("Hello");的区别是什么?

String str="with";

string str="with";的区别是什么?
谢谢了!

2个回答

1.String str="hello";

这种方法创建的字符串,如果内存已经为“hello“字符串分配了内存,那么str就指向“hello”内存对象的地址

2.String str=new String("hello");

这种方法创建的字符串,不管内存有没有为“hello”字符串分配内存,都会在内存中重新分配一个内存区域存放“hello”,然后用str指向它,相当于内存中有两个“hello”只是存放的地址不一样。

A_B_C_zzy
A_B_C_zzy 谢谢
2 个月之前 回复

首先不知道你写的string是个什么情况,我想应该是String吧,没见过string这个对象。
你可以认为字符串Hello本身是一个常量,占有一块内存,赋值给str之后,str指向Hello内存地址。所以String str1 = "Hello";和String str2= "Hello";内存地址相同。
new String("Hello");是新创建了一个对象,并且把Hello赋给新对象,因此内存地址与str内存地址不同。

A_B_C_zzy
A_B_C_zzy 谢谢
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
java字符串分割,为什么会分割出来一个字符串长度为0的串
3
java中String字符串的==双等号比较?
4
java中String字符串==的疑问?
4
Java字符串中多个反斜杠转译失败
4
java字符串缓冲器问题
3
base64字符串转成File且不写入磁盘
5
springMVC前端怎么jsp怎么接收controller返回的string字符串。
3
java用readline读文本文档读到相应字符串,并判断与定义好的字符串是否相匹配的问题
1
输入一个字符串,可以删除字符串s中的任意字符,剩下的字符串形成对称字符串,且该字符串为最长对称字符串
1
有一个字符串是csv格式的,如何将这个字符串里面的数据写进数据库表中?
2
求:把字符串变成树节点的算法 C# 或者JAVA
7
如何在 Java 中分割字符串?
2
请问java中switch的case语句里,为什么输入字符串只能用next()命令呢?
1
前端form-data传String数组后端如何接收size=1的空字符串
3
这是一个MD5加密工具类,登陆始终是失败的,我用相同的密码123456多次注册发现加密后的密码字符串都是不同的,是不是工具类有错误的原因?
7
Java悬赏问题,Java语言如何展开字符串:
2
java后台将base64字符串转换为PDF后生成的PDF打不开怎么回事呀
1
在 Heap Space 中 String poll 的 字符串常量,失去引用是如何回收的?
2
关于将数组转换成字符串后输出的问题
4
java题目:编写一个类,该类的功能是可以根据给定的字符串和子串,计算出字符串中包含多少个子串。