1.枚举
http://blog.youkuaiyun.com/qq_27093465/article/details/52180865
在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
把集合里的对象元素一个一个提取出来。枚举类型使代码更具可读性,理解清晰,易于维护。枚举类型是强类型的,从而保证了系统安全性。而以类的静态字段实现的类似替代模型,不具有枚举的简单性和类型安全性。
把集合里的对象元素一个一个提取出来。枚举类型使代码更具可读性,理解清晰,易于维护。枚举类型是强类型的,从而保证了系统安全性。而以类的静态字段实现的类似替代模型,不具有枚举的简单性和类型安全性。
静态导入
通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。
import xxxx 和 import static xxxx的区别是前者一般导入的是类文件如import java.util.Scanner;后者一般是导入静态的方法,import static java.lang.System.out。
通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。
import xxxx 和 import static xxxx的区别是前者一般导入的是类文件如import java.util.Scanner;后者一般是导入静态的方法,import static java.lang.System.out。
可变参数(Varargs)
参数类型相同时,把重载函数合并到一起了。
methodName([argumentList], dataType... argumentName);
private static int sumUp(int... values) {
}
参数类型相同时,把重载函数合并到一起了。
methodName([argumentList], dataType... argumentName);
private static int sumUp(int... values) {
}
2.内省
http://www.cnblogs.com/yejiurui/archive/2012/10/06/2712693.html
通过反射的缺省处理方法,调用类的取值设置方法,修改私有属性。抽象编程。
3.泛型(Generic)
http://www.cnblogs.com/lzq198754/p/5780426.html
http://www.cnblogs.com/sunwei2012/archive/2010/10/08/1845938.html
指定集合中的元素类型,取出时无需进行强制类型转换。
class Point<T>{ // 此处可以随便写标识符号,T是type的简称
private T var ; // var的类型由T指定,即:由外部指定
public T getVar(){ // 返回值的类型由外部决定
return var ;
}
public void setVar(T var){ // 设置的类型也由外部决定
this.var = var ;
}
};
通配符:可接受任意的泛型对象 Info<?> temp
class Point<T>{ // 此处可以随便写标识符号,T是type的简称
private T var ; // var的类型由T指定,即:由外部指定
public T getVar(){ // 返回值的类型由外部决定
return var ;
}
public void setVar(T var){ // 设置的类型也由外部决定
this.var = var ;
}
};
通配符:可接受任意的泛型对象 Info<?> temp
4.For-Each循环
int arr[] = {2, 3, 1};
for (int x : arr) {
System.out.println(x); //逐个输出数组元素的值
}
For-Each循环的缺点:丢掉了索引信息。
当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。
当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。
5.自动装箱拆箱
//自动装箱
Integer total = 99; // Integer total = Integer.valueOf(99);
//自动装箱
Integer total = 99; // Integer total = Integer.valueOf(99);
//自定拆箱
int totalprim = total; // int totalprim = total.intValue();
int totalprim = total; // int totalprim = total.intValue();
int 是基本数据类型
Integer是其包装类
java中,包装类比较多的用途是用在于各种数据类型的转化中
Integer是其包装类
java中,包装类比较多的用途是用在于各种数据类型的转化中