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=“”这种做法,有好例子就加分!!! 展开
如果是a=“”意味着a引用了一个对象,那这个对象究竟是一个怎样的对象??
我知道 a赋上null,说明这个变量a明显没有引用到任何的对象;那a=“”这样子有什么意义????好疑惑~~~~~
网上看到:a=“”;等同于 String a = new String()。这样子认为对吗???
我觉得要理解的是:如果a=“”表示已分配了内存空间,那分配了有什么用途??
有什么例子(例如程序说明)是使用a=“”这种做法,有好例子就加分!!! 展开
3个回答
展开全部
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());
}
}
{
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());
}
}
展开全部
String a=""; 这是指对象a指向一个空字符串对象
String a=null;创建引用对象a,但不指向任何对象,只创建引用空间,不创建对象空间
如:实现字符串拼接1 2 3 4 5 .....
String a="";
for(int i=0;i<100;i++){
a += i;
}
String a=null;创建引用对象a,但不指向任何对象,只创建引用空间,不创建对象空间
如:实现字符串拼接1 2 3 4 5 .....
String a="";
for(int i=0;i<100;i++){
a += i;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这两个没有不同只是用法习惯问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询