传智播客java学习 基础加强 泛型
今天我听了佟刚老师讲的基础加强课程,我对此做了简单的记录:
佟老师讲了以下知识点
1. 枚举:
1). 在枚举类中显式列出枚举类的所有实例必须放在第一行!
2. 没有泛型的缺点:
1). 从集合中获取对象时可能需要进行类型转换
2). 还可能产生一个运行时错误: java.lang.ClassCastException
3. 泛型的核心思想: 把一个list(集合) 中的内容限制为一个特定的数据类型
4. 面试问题:
下面的代码片断合法么?
List<String> ls = new ArrayList<String>(); //1 -- ok
List<Object> lo = ls; //2 // -- false!!
答案:
假设第二行合法, 则:
lo.add(new Object()); // 3
String s = ls.get(0); // 4: 试图把Object赋值给String
这里,我们使用lo指向ls.
通过lo来访问ls -- 一个String的list
可以插入任意对象进去. 结果是 ls 中保存的不再是String
&nb
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
1、super(参数):调用基于父类的某一个构造函数(应该为构造函数的第一条语句);
2、this(参数):调用同一个类中其他的构造函数(应该为构造函数的第一条语句)。
3、super:它引用当前直接父类中的成员(用于访问当前直接父类中被隐藏的父类中的数据或方法,父类与子类中有相同的成员定义)
  ......
JAVA-字符串过滤类
package cn.com.hbivt.util;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class StringUtils {
/ ......
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是 ......
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否 ......