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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vipzh 中级黑马   /  2012-12-2 17:37  /  1703 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

“=”和new 关键字都可以用来赋值,这两个赋值有什么区别啊,分别在什么样的情况下使用?

3 个回复

倒序浏览
“=”只是用来赋值用的 而new用来建立对象,给对象赋值
在字符串中使用比较特殊 String s = "aba" 同样会建立对象
而String s = new String("abc");建立的是两个对象

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
这个应该是String里面的问题,直接赋值当值一样的时候内存中只有一个,new只要明白,有一个new'出现就会开辟一个空间
String str1=“abc”;String str2=“abc”;String str3=“abc”;他们是相等的
String str1=new String(“abc”);String str2=new String(“abc”);String str3=new String(“abc”);他们是不相等的

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
=在基本数据类型里是赋值的意思。而new是把堆内存中的实体指向它的引用。建立对象开辟空间的时候用new 而基本数据类型赋值用=
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马