黑马程序员技术交流社区
标题:
字符串
[打印本页]
作者:
崔增阳
时间:
2014-4-8 15:44
标题:
字符串
本帖最后由 崔增阳 于 2014-4-9 15:58 编辑
stirng s=null 和 stirng s="" 有什么区别?
作者:
许庭洲
时间:
2014-4-8 15:51
1. string str = null是不给它分配内存空间,而string str=\"\"给它分配长度为空字符串的内存空间。
2. string str = null没有string对象, string str =""有一个字符串对象。
作者:
shangxin
时间:
2014-4-8 16:52
String s是一个声明,你可以把它看成是声明了一个引用;=null/=""是赋值,或者你可以看成是实例化。 在这个前提下,String s = null就是说,你将s这个引用指向了内存中一个空地址(没任何东西,null),而String s = ""则是表示你将s的引用指向了一个空字符串(有一个字符串对象,而且它的值是0长度的字符串)。
作者:
伪善者。
时间:
2014-4-8 16:55
null是没有分配内存 ""是分配了空间 赋值为空
作者:
一片白
时间:
2014-4-8 16:58
NULL 表示一个引用也就是没有指向任何引用
""表示一个空的字符串,它是以'\0'做结束的
作者:
爱吃桃子的猫
时间:
2014-4-8 23:11
打个比喻 “你什么都没说”
string s="" 是你没说任何话
string s = Null 是你没法说话
首先,string s是一个声明,你可以把它看成是声明了一个引用;s是一个string类的引用,string s = Null 表示它不指向任何字符串对象,你将s这个引用指向了内存中一个空地址(没任何东西,null),string s=""你将s的引用指向了一个空字符串(有一个字符串对象,而且它的值是0长度的字符串)如果调用s.length()之类的方法,s为null时会抛出NullPointerException,而""则能进行正常的计算。
作者:
袁晓俊
时间:
2014-4-9 00:47
前面的在内存空间不分配内存,二后面的一个是需要在存储空间分配一个空字符空间。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2