java String str; 和 String str= null;的区别???
展开全部
良好的编程习惯茄段会减少你的维护时间和增加程序的健游槐壮性,从代码意义上来说,
String str; 和 String str= null;颤磨誉没有区别,String str也会默认给它加一个null。但是这个是有区别的。
你写了String str=null说明你给它初始化了。 str.xxx(); eclipse 提示 nullpointer标明是一个空指针,空指针无法引用,所以报错了。但是String str;指向性不明,而且有时候不一定会报错,一定程度上减弱了程序的健壮性。
良好的变成习惯是所有的变量一定要初始化。
String str; 和 String str= null;颤磨誉没有区别,String str也会默认给它加一个null。但是这个是有区别的。
你写了String str=null说明你给它初始化了。 str.xxx(); eclipse 提示 nullpointer标明是一个空指针,空指针无法引用,所以报错了。但是String str;指向性不明,而且有时候不一定会报错,一定程度上减弱了程序的健壮性。
良好的变成习惯是所有的变量一定要初始化。
展开全部
1.没有区别
String是引用类型的,所以默认是null
2.至于你说的那个问题
我开始也是这样认为,但在eclipse里写代码时,String str; str.xxx(); eclipse提示 变量未初始化。 String str = null; str.xxx(); eclipse 提示 nullpointer。。
那是因为
a.你在用到str的话必须首先给他赋值。比如String str="123"或者
String str=null这两种写法都是给他赋值了。这样语法后面用到
str.xxx();
语法渣颂就没错了。可以直接运行
3.抛出雹梁握的nullpointexception那是异常,你那时候就是null,null不能点出.xxx(),所以异常
4.
String str后直接写
str.xxx();
是不行的,因为没有赋值源庆初始值,这是语法错误
String是引用类型的,所以默认是null
2.至于你说的那个问题
我开始也是这样认为,但在eclipse里写代码时,String str; str.xxx(); eclipse提示 变量未初始化。 String str = null; str.xxx(); eclipse 提示 nullpointer。。
那是因为
a.你在用到str的话必须首先给他赋值。比如String str="123"或者
String str=null这两种写法都是给他赋值了。这样语法后面用到
str.xxx();
语法渣颂就没错了。可以直接运行
3.抛出雹梁握的nullpointexception那是异常,你那时候就是null,null不能点出.xxx(),所以异常
4.
String str后直接写
str.xxx();
是不行的,因为没有赋值源庆初始值,这是语法错误
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有区别
String str;只能声明全局变量或者叫散伍类变量,不用赋值,默认初始值为御蔽null
String str= null;声明局部变量(也就是方法镇掘州里的变量),必须显示的初始化为null,否则无法通过编译
String str;只能声明全局变量或者叫散伍类变量,不用赋值,默认初始值为御蔽null
String str= null;声明局部变量(也就是方法镇掘州里的变量),必须显示的初始化为null,否则无法通过编译
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有区别。。String str;默认就是null。不过有时候会要有初始值的。
追问
我开始也是这样认为,但在eclipse里写代码时,String str; str.xxx(); eclipse提示 变量未初始化。 String str = null; str.xxx(); eclipse 提示 nullpointer。。
追答
那就是要必须有初始值的时候了 你加null就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String str 在编译后,相当于 String str= null; 但是会有警告.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询