JAVA 7 新特征

A look at Java 7's new features

1. 创建Generic Type更加方便

Map<String, List<String>> trades = new TreeMap <>();

2.类似C#的支持String的switch,简便了许多。之前的版本支持基础类型,基础类型对应的Box类和枚举类型。

/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		switch (TEST.TEST1) {
		case TEST1:
			break;
		case TEST2:
			break;
		case TEST3:
			break;
		}
	}

	enum TEST {
		TEST1, TEST2, TEST3
	}
Character c = new Character('C');
		switch(c){
		case 'T':
			break;
		case 'D':
			break;
		
		}



 public static void switchExample(){
    String test = "DEV";
    
    switch(test){
    case "PROD":
    System.out.println("PROD");
    break;
    case "DEV":
    System.out.println("DEV");
    break;
    }
 }

其实底层仍然没有变,相当于提供了语法糖,底层的时间仍然是通过switch string的hashcode和equals方法来实现的,可以参考http://my.oschina.net/BeyondBit/blog/76268?p=3#comments. 用jad看了下enum的switch实现原理差不多。

3. 类似与C#的using, java提供了try-with-resource语句,防止忘记关闭一些资源。这些类要实现java.lang.AutoCloseable接口。

public void newTry() {



            try (FileOutputStream fos = new FileOutputStream("movies.txt");

                        DataOutputStream dos = new DataOutputStream(fos)) {

                  dos.writeUTF("Java 7 Block Buster");

            } catch (IOException e) {

                  // log the exception

            }

      }




你可能感兴趣的:(JAVA 7 新特征)