20165226 2017-2018-4 《Java程序设计》第6周学习总结
教材学习内容总结
第八章 常用实用类
- string类
- 并置
- 两个常量进行并置,得到的仍是常量。
- 并置
public class Example8_1 {
public static void main(String args[]) {
String hello = "你好";
String testOne = "你"+"好";
System.out.println(hello == testOne);
System.out.println("你好" == testOne);
System.out.println("你好" == hello);
}
}
- equals
String对象调用equals(String s)方法比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同。
- StringBuffer类
- Date类与Calendar类
- 日期格式化
– format方法(也可用于数字格式化中)
format(格式化模式,日期列表)
第十五章 泛型与集合框架
- 泛型
– 声明泛型类
class 名<泛型列表>
– 声明对象:类名多了
<>
,并用具体类型替换<>
中的泛型 - LinkedList泛型类(创建链表)
- HashMap<K,V>泛型类(其对象采用散列表这种数据结构存储数据)
- 树集
– TreeSet泛型类(其创建的对象称作树集)
– 树映射(适合用于数据的排序,结点按着存储对象的大小升序排列)
教材学习中的问题和解决过程
-
问题一:书上P179中的
Example8_2.java
中System.out.println(s1==s2);
输出为false -
问题一解决方案:通过查看书内容,得知string对象s1s2中存放的是引用,表明自己的实体的位置信息,因此应该使用
System.out.pritnln(s1.equals(s2));
-
问题二:在学习
equals
时联想到=
,同时回想起以前课上老师提起过instanceof
,不禁产生疑问,这三个有什么区别,使用的环境有什么不同? -
问题二解决方案:通过查找资料,得出以下结论
instanceof:用于判断一个引用类型所引用的对象是否是一个类(子类)的实例,左边操作元是一个引用类型,右边是一个类(父类)名或(父类实现的)接口名;
多态性,对于引用类型变量,java编译器只根据变量被显示声明的类去编译,左边操作元被显示声明的类型与右边操作元必须是同类或有继承关系
在运行时根据左边实际引用的对象来判断操作符==操作符==用于判断两个操作元是否相等,既可以是基本类型也可是引用类型,当是后者时,引用变量必须引用同一个对象时才返回true
操作符==同样具有多态性对象的equals()方法Object中equals方法规则为:当参数object引用的对象与当前对象为同一个对象时就返回true
jdk中一些覆盖equals方法的类有io.File、util.Date、lang.String以及包装类,比较规则更具实际意义:对象已知且内容一致,则返回true
用户可通过自定义类中覆盖equals方法,重新定义比较规则
代码调试中的问题和解决过称
- 问题一:成功编译,但是未能成功运行
- 问题一解决方案:尝试了在代码开头添加
import java.util.*
在运行时应该直接java C +数字
,然后成功运行