java中,假设a为一个字符串类型的引用变量,则String a = “”;和String a=null有什么不同

什么时候使用a=""的形式,什么时候使用a=null的形式???如果是a=“”意味着a引用了一个对象,那这个对象究竟是一个怎样的对象??我知道a赋上null,说明这个变量... 什么时候使用a=""的形式,什么时候使用a=null的形式???
如果是a=“”意味着a引用了一个对象,那这个对象究竟是一个怎样的对象??
我知道 a赋上null,说明这个变量a明显没有引用到任何的对象;那a=“”这样子有什么意义????好疑惑~~~~~
网上看到:a=“”;等同于 String a = new String()。这样子认为对吗???
我觉得要理解的是:如果a=“”表示已分配了内存空间,那分配了有什么用途??
有什么例子(例如程序说明)是使用a=“”这种做法,有好例子就加分!!!
展开
 我来答
aaronswon
2009-02-28 · TA获得超过3481个赞
知道大有可为答主
回答量:1863
采纳率:0%
帮助的人:1617万
展开全部
public class Test
{
public static void main(String args[])
{
String str1 = "";//已经初始化,只不过指向空串
String str2 = null;//变量声明而已,未初始化,不能直接使用
String str3 = new String();//和str1类似单存在堆内存中,内容都是空串
System.out.println(str1.length());
//System.out.println(str2.length());//抛出空指针异常
System.out.println(str3.length());

}
}
battle3000
2009-02-28 · TA获得超过321个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:205万
展开全部
String a=""; 这是指对象a指向一个空字符串对象
String a=null;创建引用对象a,但不指向任何对象,只创建引用空间,不创建对象空间

如:实现字符串拼接1 2 3 4 5 .....
String a="";
for(int i=0;i<100;i++){
a += i;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenxk1017
2009-02-28 · TA获得超过244个赞
知道答主
回答量:118
采纳率:0%
帮助的人:147万
展开全部
这两个没有不同只是用法习惯问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式