JDK 高版本的新特性
1、JDK5的新特性:
自动拆装箱
      见Integer部分笔记
		    泛型
		    增强for循环
		    静态导入
		    可变参数
      见集合部分笔记
		
		
		
		    枚举
				        是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只有7天,一年只有12个月等。
				      回想单例设计模式:单例类是一个类只有一个实例
				        那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例。这才能是枚举类。
				    
				    我们自己定义枚举类比较麻烦,所以,java就提供了枚举类供我们使用。
				
				    格式是:只有枚举项的枚举类
				
						        public enum 枚举类名 {
									              枚举项1,枚举项2,枚举项3…;
						        }
						
				    注意事项:
				
								      定义枚举类要用关键字enum
								
								      所有枚举类都是Enum的子类
								
								      枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,
								      这个分号就不能省略。建议不要省略
								
								      枚举类可以有构造器,但必须是private的,它默认的也是private的。枚举项的用法比较特殊:枚举(“”);
								
								      枚举类也可以有抽象方法,但是枚举项必须重写该方法
								
								      枚举在switch语句中的使用
								
			     常用方法:
			 					          int compareTo(E o)
			 					
								          String name()
								
								          int ordinal()
								
								          String toString()
								
								          <T> T valueOf(Class<T> type,String name)
								
								
								
								          values() 
								                此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便
2、JDK6的新特性: 比较少见。这里不做笔记。
	
3、JDK7的新特性:	
		    1、二进制字面量:
		
					        JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。使用二进制字面量的好处是,
					        可以使代码更容易被理解。语法非常简单,只要在二进制数值前面加 0b或者0B
								          举例:
								            int x = ob110110
		   2、数字字面量可以出现下划线:
		
					        为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。
								          举例:
								            int x = 100_1000;
								          注意事项:
								            不能出现在进制标识和数值之间
								            不能出现在数值开头和结尾
								            不能出现在小数点旁边
		   3、switch 语句可以用字符串
		
								
								
		   4、泛型简化
		
					        泛型简化
								          在建立新的对象时,右边可以根据左边自行推断泛型类型。
								            ListArray<String> la  = new ListArray<>();
		   5、异常的多个catch合并
								
								        catch(Exception1 | Exception2 ..  e): 各个Exception之间必须是平级的。
6、try-with-resources 语句
					        格式:
								          try(必须是java.lang.AutoCloseable的子类对象){…}
								
								          小括号中就是需要关闭的对象。
								
								        如:
										          try(FileReader fr = new FileReader(a.txt);
												            FielWriter fw = new FileWriter(b.txt);)
										          {
												            char [] buf = new char[1024];
												            int i = fr.read(buf);
												            fw.write(buf,0,i);
										          }
								
								        好处:
								            资源自动释放,不需要close()了
								            把需要关闭资源的部分都定义在这里就ok了
								            主要是流体系的对象是这个接口的子类(看JDK7的API)
JDK8,暂时不介绍
原文:http://www.cnblogs.com/soficircle/p/6771323.html