黑马程序员_JDK1.5新特性部分解析
2012-06-14 21:30
253 查看
----------------------
android培训、java培训、期待与您交流! ----------------------
JDK1.5新特性:
1.自动装箱与拆箱:
Integer iObj = 3;System.out.println(iObj + 12);
Integer i1 = 137(-128--127范围时,为true);
Integer i2 = 137(-128--127范围时,为true);
System.out.println(i1 == i2); //false,
但是括号中时却返回ture,原因是Integer采用的是享元模式
Integer i3 = Integer.valueOf(213);
Integer i4 = Integer.valueOf(213);
System.out.println(i3==i4);//同上,另一种包装形式
2.枚举(常用来设计单例模式)
public class EnumTest {
public static void main(String[] args) {
WeekDay1 weekDay = WeekDay1.MON;
System.out.println(weekDay.nextDay());
WeekDay weekDay2 = WeekDay.FRI;
System.out.println(weekDay2);
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
System.out.println(WeekDay.valueOf("SUN").toString());
System.out.println(WeekDay.values().length);
new Date(300){};
}public enum WeekDay{ SUN(1),MON(),TUE,WED,THI,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
}
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}
};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time){this.time = time;}
}
}
3.静态导入
import static java.lang.Math.*;
public class StaticImport {
public static void main(String[] args){
int x = 1;
try {
x++;
} finally {
System.out.println("template");
}
System.out.println(x);
System.out.println(max(3, 6));
System.out.println(abs(3 - 6));
}
}
4.可变参数
public class VarableParameter {
public static void main(String[] args) {
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int... args){
int sum = x;
/* for(int i=0;i<args.length;i++){
sum += args;
}*/
for(int arg : args){
sum += arg;
}
return sum;
}}
5.内省
ReflectPoint pt1 = new ReflectPoint(3,5);
BeanInfo beanInfo = Introspector.getBeanInfo(pt1.getClass());
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
Object retVal = null;
for(PropertyDescriptor pd : pds){
Method methodGetX = pd.getReadMethod();
retVal = methodGetX.invoke(pt1);
}
----------------------
android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
android培训、java培训、期待与您交流! ----------------------
JDK1.5新特性:
1.自动装箱与拆箱:
Integer iObj = 3;System.out.println(iObj + 12);
Integer i1 = 137(-128--127范围时,为true);
Integer i2 = 137(-128--127范围时,为true);
System.out.println(i1 == i2); //false,
但是括号中时却返回ture,原因是Integer采用的是享元模式
Integer i3 = Integer.valueOf(213);
Integer i4 = Integer.valueOf(213);
System.out.println(i3==i4);//同上,另一种包装形式
2.枚举(常用来设计单例模式)
public class EnumTest {
public static void main(String[] args) {
WeekDay1 weekDay = WeekDay1.MON;
System.out.println(weekDay.nextDay());
WeekDay weekDay2 = WeekDay.FRI;
System.out.println(weekDay2);
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
System.out.println(WeekDay.valueOf("SUN").toString());
System.out.println(WeekDay.values().length);
new Date(300){};
}public enum WeekDay{ SUN(1),MON(),TUE,WED,THI,FRI,SAT;
private WeekDay(){System.out.println("first");}
private WeekDay(int day){System.out.println("second");}
}
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}
};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time){this.time = time;}
}
}
3.静态导入
import static java.lang.Math.*;
public class StaticImport {
public static void main(String[] args){
int x = 1;
try {
x++;
} finally {
System.out.println("template");
}
System.out.println(x);
System.out.println(max(3, 6));
System.out.println(abs(3 - 6));
}
}
4.可变参数
public class VarableParameter {
public static void main(String[] args) {
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int... args){
int sum = x;
/* for(int i=0;i<args.length;i++){
sum += args;
}*/
for(int arg : args){
sum += arg;
}
return sum;
}}
5.内省
ReflectPoint pt1 = new ReflectPoint(3,5);
BeanInfo beanInfo = Introspector.getBeanInfo(pt1.getClass());
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
Object retVal = null;
for(PropertyDescriptor pd : pds){
Method methodGetX = pd.getReadMethod();
retVal = methodGetX.invoke(pt1);
}
----------------------
android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
相关文章推荐
- 黑马程序员---Java中的JDK1.5部分特性
- 黑马程序员——高新技术——枚举,JDK1.5部分新特性
- 黑马程序员——高新部分——高新入门、JDK1.5新特性及枚举
- 黑马程序员_JDK1.5部分新特性
- 黑马程序员 _JDK1.5后的部分新特性
- 黑马程序员————高新技术————JDK1.5新特性
- 黑马程序员-------java提高 jdk1.5新特性
- 黑马程序员_java基础笔记(10)...JDK1.5的新特性
- 黑马程序员——静态导入,可变参数,自动拆箱装箱以及享元设计模式 JDK1.5新特性
- 关于uIP的移植以及部分特性解析和勘误
- 黑马程序员_基础加强(jdk1.5新特性)
- 黑马程序员_8_JDK1.5新特性
- 黑马程序员-JDK1.5新特性
- 【黑马程序员】jdk1.5的新特性之可变参数和增强for循环
- 黑马程序员--基础加强(JDK1.5新特性)
- 黑马程序员-JDK1.5新特性(高新技术)
- 黑马程序员_学习笔记第16天——Collections、jdk1.5新特性
- 关于Jdk1.5特性 -----黑马程序员
- 黑马程序员--Java基础加强(4)--- JDK1.5新特性之JavaBean、注解
- 黑马程序员_JDK1.5新特性-枚举