A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李君言 中级黑马   /  2013-5-8 20:36  /  1027 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李君言 于 2013-5-9 20:25 编辑

string s =null  和 string s=""  这两个都是表示空值的意思吗?  这两个意思是一样的吗?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 hou604720966 于 2013-5-8 21:24 编辑

null    和  “”   是不一样的  null是没有指向任何对象,而“”是空字符串长度为0
回复 使用道具 举报
一般引用类型可为null。就是说null的时候没有指向任何对象。而那个“”表示,是个空字符串,他是占内存的,null不占内存。“”是长度为0的字符串。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
1, string str = null是不给它分配内存空间;
2. 而string str=\"\"给它分配长度为空字符串的内存空间;
3. string str = null 没有string对象;
4. string str = ""有一个字符串对象。
回复 使用道具 举报
class Demo2 {
        public static void main(String[] args){
                String s1 = null ;//null代表的是空 ,意思就是什么都没有  。空间都没有
                String s2 = "" ;//只要有两个引号就算里面没有写任何东西。但空间还是有的
                System.out.println(s1);//从输出上可以看得出来
                System.out.println(s2);
        }
}
我想你把代码运行下试试就知道了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马