• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

求助大神们,Java问题

我的问题是:我在for循环外创建的student对象s1,用循环进行赋值 为什么 两次赋值s1的哈希码是一样,但s1.id的哈希码却不一样???

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

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

使用道具 举报

全部参与2

因为在循环前student的对象已经创建,已经分配好了内存地址,对象是地址引用,在循环中只是对这个对象的属性进行修改 ,所以s1的内存地址是不变的,只是s1对应内存地址中的实际内容变了;更改id属性时,要新建一个属性对应的内存地址,因为有新对象生成,所以对应的地址就变了; --新手见解,错了勿怪~~

使用道具 举报

这么说吧,你全程只有一个s1对象,你说地址相不相同?id是属性,每次循环赋值后怎么可能相同?你不用循环这种方式创建试试,你就懂了。

使用道具 举报

发新帖

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

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

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