当前位置: 首页 > news >正文

网站建设服务预算frp做网站

网站建设服务预算,frp做网站,wordpress段代码插件,wordpress数据互通Java 列表复制与对象引用 一、知识点 1. 对象引用的基本概念 在 Java 中#xff0c;ListSchool 这样的集合存储的并不是真正的对象#xff0c;而是对象的“地址”#xff08;引用#xff09;。就好比你有一个文件柜#xff0c;文件柜里放的不是文件本身#x…Java 列表复制与对象引用 一、知识点 1. 对象引用的基本概念 在 Java 中ListSchool 这样的集合存储的并不是真正的对象而是对象的“地址”引用。就好比你有一个文件柜文件柜里放的不是文件本身而是指向文件存放位置的标签。集合中的每个元素都指向堆内存中的实际对象实例。 2. 列表复制与对象引用 当你用 new ArrayList(schools) 复制一个列表时新列表比如 sortedSchools只是把原列表schools中对象的“地址”复制了一遍而不是复制对象本身。也就是说两个列表中的元素都指向同一个对象实例就像两个标签指向同一个文件。 3. 对象属性修改的影响 因为两个列表中的元素指向同一个对象所以当你修改复制后的列表sortedSchools中对象的属性时原列表schools中对应的对象属性也会跟着变。就好比你通过一个标签修改了文件内容另一个标签指向的文件内容也会变。 4. 避免原列表被修改的方法 如果你希望修改复制后的列表时不影响原列表可以在复制列表时创建新的对象而不是直接复制引用。比如用构造函数重新创建对象 ListSchool sortedSchools new ArrayList(); for (School school : schools) {sortedSchools.add(new School(school.abbreviation, school.totalStudents)); }这种方法虽然能避免原列表被修改但会增加内存开销因为要创建新的对象实例和处理时间因为要调用构造函数。 二、面试题 1. 基础概念题 题目请解释在 Java 中 ListSchool 存储的是 School 对象还是对象的引用并说明当使用 new ArrayList(schools) 复制列表时会发生什么 答案ListSchool 存储的是 School 对象的引用而不是对象本身。就好比你有一个文件柜文件柜里放的是指向文件的标签而不是文件本身。当使用 new ArrayList(schools) 复制列表时新列表只是复制了原列表中对象的引用标签而不是创建新的对象实例。也就是说新列表和原列表中的元素都指向堆内存中同一个对象。 2. 代码分析题 题目以下是一段 Java 代码请分析代码的输出结果并解释原因。 import java.util.ArrayList; import java.util.List;class School {String abbreviation;int totalStudents;int unassignedStudents;int supervisors;public School(String abbreviation, int totalStudents) {this.abbreviation abbreviation;this.totalStudents totalStudents;this.unassignedStudents totalStudents;this.supervisors 0;} }public class Main {public static void main(String[] args) {ListSchool schools new ArrayList();School school1 new School(ABC, 100);schools.add(school1);ListSchool sortedSchools new ArrayList(schools);for (School school : sortedSchools) {if (school.unassignedStudents 0) {school.unassignedStudents - 20;school.supervisors;}}System.out.println(原列表 schools 中学校的未分配学生数: schools.get(0).unassignedStudents);} }答案输出结果是 原列表 schools 中学校的未分配学生数: 80。原因如下 sortedSchools 是通过 new ArrayList(schools) 复制的它只是复制了 schools 中对象的引用而不是创建新的对象实例。在 sortedSchools 中修改对象的属性比如 unassignedStudents 和 supervisors因为引用的是同一个对象所以 schools 中对应的对象属性也会被修改。因此schools.get(0).unassignedStudents 的值会从 100 变为 80。 3. 优化策略题 题目如果希望在上述代码中对 sortedSchools 中 School 对象属性的修改不影响 schools 列表应该如何修改代码请说明这种修改的优缺点。 答案 修改方法在复制列表时创建新的 School 对象而不是直接复制引用。修改后的代码如下ListSchool sortedSchools new ArrayList(); for (School school : schools) {sortedSchools.add(new School(school.abbreviation, school.totalStudents)); }优点这样可以保证原列表 schools 不会被 sortedSchools 的操作所影响数据的独立性更好。就像你复制了一份文件修改副本不会影响原始文件。缺点会增加内存开销因为需要创建新的对象实例同时也会增加处理时间因为每次复制都要调用构造函数来创建新对象。
http://www.pierceye.com/news/417213/

相关文章:

  • 青海环保网站建设公司wordpress版权怎
  • 砀山网站建设大凤号 网站建设
  • 汕头站什么是网站优化主要包括那几个
  • 买了一个域名如何做网站做歌手的网站
  • 制作精美网站建设服务周到外贸没有公司 如何做企业网站
  • jsp手机销售网站的建设做网站的收钱不管了
  • 购物分享网站流量排名帮忙做ppt的网站
  • 网站建设分几步易语言 wordpress
  • 网站备案申请模板网页制作软件手机版
  • 深圳网站开发企业建一个网站怎么赚钱吗
  • 购物网站开发小结自己搭建局域网云桌面终端
  • 做ssp用什么建网站vps搭建asp网站
  • 顺义网站建设网站认证值不值得做
  • 怎么做网站用dreamwer环球影城排队太热了
  • 台州网站建设技术外包网站创建教程
  • 发布设计任务的网站什么页游好玩人多
  • 增加网站关键词库中国建设银行黄陂支行网站
  • 企业网络优化湖北seo整站优化
  • 二百块做网站深圳网约车租赁公司哪家好
  • 软文500字范文WordPress博客程序优化
  • 企业网站内容如何备案建博会广州网站
  • 加工平台苏州纳米所海南seo排名
  • 个人适合做什么网站上海做网站建设的公司
  • 常见c2c网站有哪些网络文化经营许可证申请条件
  • 深圳龙华汽车网站建设移动页面
  • 陈巴尔虎旗网站建设重庆哪些网站推广公司
  • 网站做熊掌号码网站没被收录怎么办
  • 淘宝京东网站建设目的网站标题写什么作用
  • 棋牌网站开发工程师什么是营销网站建设
  • 邢台网站制作地址拿网站的文章做外链