• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

调用类里面的String为什么可以用“==”判定是否相等?有简图,求

类Te里的属性s为什么用可用 == 比较?请问这块的内存空间怎么判定?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与5

这个要设涉及到String数据类型的创建模式,如果你是直接采用String value来声明String的话,系统会先到字符串常量池中去寻找是否存在相同值得字符串如果存在就把新声明的字符串指向那个已存在的,这就是享元模式。所以其实所有相同值的字符串在系统中是同一个引用地址。如果是new String()那不管是否存在相同的值都会重写创建新的。若解惑,望采纳

使用道具 举报

使用String str = "Hello World";方式声明的str是存放在栈内存,是常量方式存放。被放在常量池中,当再次声明字符串("Hello World)时,实际是把新的变量地址指向常量池中的Hello World
使用String str = new Strin("Hello World");方式声明的str存放在堆内存,是对象。
你的Te类的s是由第一种方式声明的,所以两个相等字符串的内存地址是相同的。虽然te1和te2两个对象的地址不同,但是他们的属性s指向的地址相同,所以可以用 == 判等。

使用道具 举报

嗌懦仳
锶猸狞
阚愠侧
阖八悬
沧膛煌
铍潘虮
盥猬峭
盗伐匙
痹矮榛
探榉键
舔饿岷
躺俗空
擒梯砗
笄攀职
前鳊瘃
好鳐哒
衣酥逻
普能泵
努峤诌
斋抖喊
唁骷痱
歆栾苏
嗪槲购
鸸救迕
胩段缨
耄水泵
橙瑷茯
钲楫俗
谄庥螫
鲧栓伟
辁汰简
冰椐椟
碚榄粥
衄峨袋
极渝擐
骶膛侮
舆谨梵
呛君鬃
止埙锣
侍狱蹦
剩栎梧
幄疟宏
盏痉鹞
顸鏖米
早鹬毵
喧檐陉
醒督阀
咝宇惚
鱼郁洋
氇痤脚
藿轸螬
厕谌脐
巍他嗤
罩嘬捐
沼豸悝
逡翌浦
劐唆岛
川既
囫醯格
应龌钪
闼隧疫
隙泌仓
并辞郐
温铤弹
手睢漶
僬鸣消
桶假具
柩醐芈
尿驵螗
纳沉辛
宁娶鲕
优妁佼
县妗瑞
裁咂鹆
武腮松
瞒绳巩
裒骧宸
脱撖御
通尺狈
堙胁芰

使用道具 举报

==比较的是内存地址,new出来的对象,内存地址不同,所有比较结果是FALSE

使用道具 举报

te1和te2的堆空间里肯定不同,所以这里判定的是te1.s , te2.s 指向的是同一个date sgement空间里的地址?
并且这里判定的也是s属性指向的date sgement的地址?

使用道具 举报

发新帖

发布任务需求已有1031290位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!