泛型数组列表 ArrayList 是一个采用类型参数(type parameter)的泛型类(generic class). java ArrayList<Employee> staff = new ArrayList<Employee>(); ArrayList<Employee> staff = new ArrayList<>(); // JavaSE 7 之后可以简写 JavaSE 5.0 以前的版本没有提供泛型类,而是有一个 ArrayList 类,…
「TOC」 Java 程序基本要求 Java 数据类型 基本数据类型 复合数据类型 运算符 逻辑运算符 位运算符 运算符优先级 Java 程序基本要求 public class : 一个 Java 文件中只能有一个 「标识符」的通常约定: 常量全部大写 类名的每个单词首字母大写 公有方法和实例变量从小写字母开始,后面的每个首字母大写(例如:getCurrentValue) 私有变量或局部变量标识符全部小写(例如:next_value) Java 数据类型 类型 默认值 byte (byte) 0…
引用(复合)数据类型 1. 枚举类型 例: 枚举类型 Size 的声明: enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 声明 Size 类型变量: Size s = Size.MEDIUM; 注意: Size 类型的变量只能存储这个类型声明中给定的某个枚举值,或者 null 值. toString 方法与 Enum.valueOf 静态方法 在比较两个枚举类型的值时,不需要调用 equals,可以直接使用 == 比较. 补充: public e…
在编写程序时,如果知道想要查看的域名和类型,查看指定的域是一个很容易的事,而利用反射机制可以查看在编译时还不清楚的对象域. java Employee tank = new Employee("t-man", 35000, 6, 4, 1989); Class cl = tank.getClass(); Field f = cl.getDeclaredField("name"); f.setAccessible(true); // 使得可以访问似有域 Object…
hashCode 方法 散列码(hash code)是由对象导出的一个整形值(可以是负数).其是没有规律的,如果x与y是两个不同的对象,则x.hashCode()与y.hashCode()基本上不会相同. hashCode 方法定义在 Object 类中,因此每个对象都有一个默认的散列码方法,其返回结果是对象的存储地址. 一个例子: ```java String string1 = "hiwangzi"; StringBuilder stringBuilder1 = new Strin…
基本数据类型 1. 整型 注意:Java 没有任何无符号(unsigned)形式的 int.long.short 或 byte 类型. 不同进制的表示形式: 十六进制数值有一个前缀0x或0X(如0xCAFE). 八进制有一个前缀0,例如,010对应八进制中的8.很显然,八进制表示法比较容易混淆,所以建议最好不要使用八进制常数. 从Java 7开始,加上前缀0b或0B就可以写二进制数.例如,0b1001就是9. 另外,同样是从Java 7开始,还可以为数字字面量加下划线,如用(1_000_000或…
「白皮书」关键术语 简单性(C++--) 面向对象 分布式 健壮性 安全性 体系结构中立 可移植性 解释型 高性能 多线程 动态性 Java 发展历程 SUN公司--Stanford University Network 主设计者:James Gosling 1996年初 - 发布 Java 1.0 Java 2, JDK 1.2 有了很大的改变 - 更加接近"一次编写,随处运行"的承诺 J2SE 5.0 得到了进一步改进 - 泛型.(以下几项受 C# 启发) foreach.自动装箱…
equals 方法示例 // 代码来自<Java核心技术 卷I>P167 // 父类 public class Employee{ ... public boolean equals(Object otherObject){ // a quick test to see if the objects are identical if(this == otherObject) return true; // must return false if the explicit parameter…
Employee[] a = new Employee[100]; // ... // array is full a = Arrays.copyOf(a, 2 * a.length); 如何编写这样一个通用的 copyOf 方法呢? // 不够好的实现 public static Object[] badCopyOf(Object[] a, int newLength){ Object[] newArray = new Object[newLength]; System.arraycopy(a…
在 java.lang.reflect 包中有三个类 Field, Method 和 Constructor 分别用于描述类的域.方法和构造器. Class 类中的 getFields, getMethods 和 getConstructor 方法将分别返回类提供的 public 域.方法和构造器数组,其中包括超类的公有成员. Class 类中的 getDeclaredFields, getDeclaredMethods 和 getDeclaredConstructor 方法将分别返回类中声明的…