2.1. 启动垃圾回收
System.gc();
2.2. 静态成员与静态子句
可以用如下的方式对多个 static 成员指定初始化(仅执行一次)。
class ChineseMan {
static String country;
static String gender;
static {
country = "China";
gender = "Male";
}
}
2.3. 非静态成员初始化
对于基本类型的成员,如果未指定初始化值,则会被赋以默认值;对于引用类型的成员,将会被赋以 Null。
也可以在构造函数里面进行初始化成员值,但是这会在所有的指定初始化执行之后进行。
2.4. 数组的定义与初始化
// Ex.1
int[] a = {1, 2, 3, 4, 5};
int[] b = a; // 引用赋值
// Ex.2
int a[] = {1, 2, 3, 4, 5}; // 另一种不推荐但合法的定义语法
// Ex.3
int[] a = new int[5]; // 指定空间赋值
2.5. 数组的打印
可以用 Arrays.toString()
来将数组展现为字符串:
int[] a = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(a);
2.6. 可变参数列表
通过如下方式定义一个可变参数的方法签名:
class Program {
public static void main(String[] args) {
MyUtils.display(1, "test", 5.1);
}
}
class MyUtils {
public static display(Object... args) {
System.out.println(Arrays.toString(args));
}
}
注意两点:
- 这里面的类型可以是任意类型,但传入的参数必须可以转换为该类型;
- 传入的参数可以为空,这时候这个可变参数会获得一个空数组。
2.7. 获取对象类型(的字符串)
obj.getClass(); // 返回 obj 对象的类型字符串。
2.8. 枚举类型
enum Genders {
MALE, FEMALE, SECRET
}
class Program {
public static void main(String[] args) {
Genders g = Genders.MALE;
System.out.println(g.toString()); // MALE
System.out.println(g.ordinal()); // 0
// 产生所有枚举成员的数组
System.out.println(Arrays.toString(
Genders.values() // [MALE, FEMALE, SECRET]
));
System.out.println(Genders.values()[0].getClass()); // Class Genders
// 使用 switch 语句(注意枚举类名必须缺省)
switch(g) {
case MALE: System.out.println(g); break;
case FEMALE: System.out.println(g); break;
case SECRET: System.out.println(g); break;
}
}
}
【转载请附】愿以此功德,回向 >>
原文链接:http://www.huangwenchao.com.cn/2015/02/java-cheatsheet-2.html【Java cheatsheet (II)】