Java jdk1.5 新特性(jdk1.5到jdk1.8的新特性系列)

JAVA herman 1336浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

jdk 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar), SUN公司不断对它进行升级,发布了不同的版本,jdk1.5 是Sun公司后来发行的版本也就是jdk5.0(JDK1.5 更名后)

2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。

JDK1.5新特性

自动装箱与拆箱

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);//同上,另一种包装形式

枚举(常用来设计单例模式)

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;}
	}
}

静态导入

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));
	}
}

可变参数

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 arg : args){
	    sum += arg;
	   }
	   return sum;
	}
}

内省

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);
}

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » Java jdk1.5 新特性(jdk1.5到jdk1.8的新特性系列)