摘要:
String 类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”。 那什么叫做“不可变对象”呢?指的是对象内部的成员变量的值无法再改变。我们打开String类的源码,如图8-8所示: 图8-8 String类的部分源码 我们发现字符串内容全部存储到value[ 阅读全文
摘要:
整型、char类型所对应的包装类,在自动装箱时,对于-128~127之间的值会进行缓存处理,其目的是提高效率。 缓存处理的原理为:如果数据在-128~127这个区间,那么在类加载时就已经为该区间的每个数值创建了对象,并将这256个对象存放到一个名为cache的数组中。每当自动装箱过程发生时(或者手动 阅读全文
摘要:
自动装箱和拆箱就是将基本数据类型和包装类之间进行自动的互相转换。JDK1.5后,Java引入了自动装箱(autoboxing)/拆箱(unboxing)。 自动装箱: 基本类型的数据处于需要对象的环境中时,会自动转为“对象”。 我们以Integer为例:在JDK1.5以前,这样的代码 Integer 阅读全文
摘要:
对于包装类来说,这些类的用途主要包含两种: 1. 作为和基本数据类型对应的类型存在,方便涉及到对象的操作,如Object[]、集合等的操作。 2. 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法(这些操作方法的作用是在基本数据类型、包装类对象、字符串之间提供相互之间的转化!)。 阅读全文
摘要:
Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等。 为了解决这个不足,Java在设计类时为每个基本数据类型设计了一个对应的类进行 阅读全文
摘要:
正常学习和开发中,我们经常会遇到各种异常。大家在遇到异常时,需要遵循下面四步来解决: 1. 细心查看异常信息,确定异常种类和相关Java代码行号; 2. 拷贝异常信息到百度,查看相关帖子,寻找解决思路; 3. 前两步无法搞定,再问同学或同事; 4. 前三步无法搞定,请示领导。 很多同学碰到异常一下就 阅读全文
摘要:
.在程序中,可能会遇到JDK提供的任何标准异常类都无法充分描述清楚我们想要表达的问题,这种情况下可以创建自己的异常类,即自定义异常类。 2.自定义异常类只需从Exception类或者它的子类派生一个子类即可。 3.自定义异常类如果继承Exception类,则为受检查异常,必须对其进行处理;如果不想处 阅读全文
摘要:
当CheckedException产生时,不一定立刻处理它,可以再把异常throws出去。 在方法中使用try-catch-finally是由这个方法来处理异常。但是在一些情况下,当前方法并不需要处理发生的异常,而是向上传递给调用它的方法处理。 如果一个方法中可能产生某种异常,但是并不能确定如何处理 阅读全文
摘要:
捕获异常是通过3个关键词来实现的:try-catch-finally。用try来执行一段程序,如果出现异常,系统抛出一个异常,可以通过它的类型来捕捉(catch)并处理它,最后一步是通过finally语句为异常处理提供一个统一的出口,finally所指定的代码都要被执行(catch语句可有多条;fi 阅读全文
摘要:
所有不是RuntimeException的异常,统称为Checked Exception,又被称为“已检查异常”,如IOException、SQLException等以及用户自定义的Exception异常。 这类异常在编译时就必须做出处理,否则无法通过编译。如图6-9所示。 如图所示,异常的处理方式 阅读全文