| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1036 人关注过本帖
标题:[求助]“==”的问题
只看楼主 加入收藏
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
s是对象new String("hello")的引用,new String("hello")这个对象的地址与"hello"的地址不同,所以s!="hello"
String ss="hello"; ss引用的就是"hello",所以s=="hello";

顺便问一下,java中的引用是不是相当于把C++的引用和指针中和了?
java的引用有C++引用的特性:它不占内存,仅仅是别名.
java的引用有C++指针的特性:他可以重新引用其他的对象,就象指针一样,重新指到其他对象.
是这样吗?


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-30 23:55
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

我的理解是 他是C++中指针的变相
引用有空间的
这里的别名与C++中别名不一样
好象没有符号表
别名存储在堆栈区(栈区)


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2007-03-31 09:04
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
哦,java里面引用也站空间啊,那是不是和C++的指针一样,不管什么的引用,都占用同样的内存大小?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-31 09:20
virusswb
Rank: 1
等 级:新手上路
威 望:1
帖 子:342
专家分:0
注 册:2005-8-6
收藏
得分:0 
s是String对象的实例
ss是一个字符串变量
不知正确否

jorden008@
2007-03-31 14:29
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
这问题虽然简单,但是楼上的各位答的真的很精彩,java中没有指针的概念,暂时抛开c++.问题就出在"new"这里,这里是new的时候在堆内存建立了一个新的对象.既然是新对象,那么ss和s指向的对象就是不同的(这里我就笼统的说都是对象了,这两个对象略有不同,不再深入剖析了),而"=="比较的是地址,以为ss和s指向不同的对象,所以比较的结果lz应该知道为什么了!

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-31 14:37
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
以下是引用wfpb在2007-3-31 9:20:30的发言:
哦,java里面引用也站空间啊,那是不是和C++的指针一样,不管什么的引用,都占用同样的内存大小?

差不多吧,你也学JAVA拉


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2007-03-31 16:17
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
不是,主要是没事做,前几天看到同学桌上有本java书,拿过来看几天,稍微掌握一些还是好的,但是我学C++为主

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-31 17:17
快速回复:[求助]“==”的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031861 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved