程序是根据具体情况在不断地创建新对象,而这些情况又只有在运行时才能够确定,因此我们就不知道到底需要多少对象,什么类型的对象,所以要能够创建任何对象并且能保持住这些对象的引用。Java就提供了很多容器类来持有和操纵对象。

数组是比较特别的一个容器,怎么说呢,它可以持有象int等基本类型数据,能够随机存储和访问,而且访问效率很高,但高效率是以牺牲灵活为代价的,当你创建了一个数组后,它的容量就确定了,并且在其生命周期内不能改变。而与它相对应的ArrayList就恰好相反,它可以灵活地增加容量,但效率就明显低于数组。而与List,Map,Set等泛型容器相比,数组在创建时就指明了它持有的对象类型,因此在编译时就会做类型检查,从而防止插入错误类型的对象。而泛型容器把它里面的元素都看成是Object,因此能容纳所有类型的对象(这就郁闷了,当你要往里面插入基本类型的数据时,就不得不先用对应的包装类将基本类型包装为Object型),并且泛型容器也没有编译时的类型检查,因此安全性得不到保证。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

《Java编程思想》读书笔记(14)相关推荐

  1. JAVA编程思想读书笔记(三)--RTTI

    接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...

  2. Java编程思想读书笔记(七)

    点击蓝字 关注我们 今天是端午节,在这里祝大家端午节安康.过节的同时也不要忘记知识储备,今天我 为大家带来了Java编程思想第七节多形性读书笔记.请大家一起品鉴,如果发现里面有啥写的不对的地方,请大家 ...

  3. Java编程思想读书笔记一:并发

    1. Thread.yield( )方法 当调用yield()时,即在建议具有相同优先级的其他线程可以运行了,但是注意的是,仅仅是建议,没有任何机制保证你这个建议会被采纳 .一般情况下,对于任何重要的 ...

  4. 《Java编程思想》笔记14.类型信息

    运行时类型信息使得你可以在运行时发现和使用类型信息,主要有两种方式: "传统的"RTTI,它假定我们在编译时已经知道了所有的类型: "反射"机制,它允许我们在运 ...

  5. JAVA编程思想——读书笔记 对象的容纳

    文章目录 对象的容纳 1.数组(array) 数组和第一类对象 基本数据类型集合 数组的返回 2.集合(collection) 集合的缺点:类型未知 它不适用于一下场合: 1.错误有时显露不出来 生成 ...

  6. Java 编程思想 读书笔记

    第一章 对象导论 一.抽象过程 所有编程语言都提供抽象机制,人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 1.1 只针对问题来进行建模 早期:基于约束条件编程的语言和通过图形符号操作来实现的 ...

  7. java编程思想读书笔记

    多态 任何域的访问操作都将有编译器解析,如果某个方法是静态的,它的行为就不具有多态性 java默认对象的销毁顺序与初始化顺序相反 编写构造器时有一条有效的准则:"尽可能用简单的方法使对象进入 ...

  8. Java编程思想读书笔记(02)

    第十三章字符串 字符串是不可变的:是final类固不能继承它:也不能通过指向它的引用来修改它的内容. StringBuilder是Java SE5引用的,在这之前用的是StringBuffer.后者是 ...

  9. Java编程思想读书笔记——第七章:复用类

    第七章 复用类 使用类而不破坏现有程序代码,有两种达到这一目的的方法: 在新的类中产生现有类的对象,也就是说new一个对象,这种方法称为组合 按照现有类的类型来创建新类,不改变现有类的形式,在其基础上 ...

  10. Java编程思想读书笔记——第十章:内部类

    第十章 内部类 将一个类的定义放在另一个类的内部,这就是内部类 内部类和组合是完全不同的概念,内部类了解外部类 10.1 创建内部类 创建就好,好像没啥可说的,直接来上练习: 练习1:(1)编写一个名 ...

最新文章

  1. linux差分备份,完全和差分备份的自动化模型
  2. 边缘检测、霍夫变换、重映射、仿射变换、直方图均衡化
  3. 图像处理:图像复原与重建之逆滤波、维纳滤波、约束最小二乘滤波——Matlab实现
  4. [置顶] 软件设计之道_读书纪要.doc
  5. 1970 matla 时间_关于matlab:UTC到字符串的转换时间
  6. VTK:Qt之ShareCameraQt
  7. 打开和关闭Oracle Flashback
  8. .NET Framework下载地址
  9. python基础——经营第一个项目,如何将python学得更6 ?
  10. kubernetes视频教程笔记 (29)-安全-认证Authentication
  11. 数据库SQL语句之外键
  12. 虚拟机VMware插入U盘操作系统崩溃死机问题及解决方法
  13. 树莓派舵机控制c语言,第8章 树莓派控制伺服电机(舵机)
  14. 移动定位业务之“Cell ID + RTT(小区识别+往返时间)”
  15. matlab中complex的详细用法,Matlab基本函数-complex函数
  16. 诗词乱拼 zz from smth.org
  17. PCIe Receiver内部恢复时钟与本地时钟
  18. vscode ssh连接服务器报错:过程试图写入的管道不存在
  19. cnpm不是内部命令的解决方案:配置环境变量【推荐】
  20. 前端做微信好友分享_一篇搞定微信分享和line分享

热门文章

  1. 谈谈Web Workers
  2. php 树结构遍历,php 递归遍历树
  3. Eclipse 自动清理未使用 Import
  4. 20200428:186周周赛下(leetcode1425)
  5. 交通监控系统服务器配置,监控系统服务器的配置
  6. 报表中判断字段中是否包含某字符串
  7. 总结之前有道笔记的内容--对于postdelay方法的讲解
  8. Proxmark3 Easy Gui 4.0 5.0 5.1加强版免费获取啦
  9. SQL Server 轻松解决令你头疼的sa登录
  10. 清华排名首登亚洲第一,今年财务预算300亿