jdk 7ノート-構文

2662 ワード

1.バイナリ式:
 
JDK 7からは、整数を表すためにバイナリを使用し、バイナリの前に0 bまたは0 Bを加算する構文を使用します.
 
		byte b = 0b0010;
		int i = 0B0010;
		long l = 0b0010;

 
 
2.数値は下線で区切ることができます.
 
下線は数字の真ん中にしか表示されません.
 
		int ii = 10_0000_0000;
		long ll = 0xFFFF_FFFF_FFFFl;

 
 
3.switch文は文字列で判断できます.
 
	private static String getValue(String s)
	{
		String str = "";
		switch(s)
		{
		case "zhangsan":
			str = "xx";
			break;
		case "lisi":
			str = "yy";
			break;
		default:
			str = "unknown";
		}
		return str;
	}

 
 
4.コンパイラは、モデルインスタンスのタイプに自動的に一致します.
例えばMap:
 
Map<String, Map<String, List<String>>> hashMap = new HashMap<String, Map<String, List<String>>>();

以下を使用できます.
 
 
Map<String, Map<String, List<String>>> hashMap = new HashMap<>();

簡略化します.
 
 
5.try-with-resources文:
jdk 7には、リソースを自動的に閉じるための新しいtry-with-resources文が用意されています.このリソースはAutoCloseableインタフェースを実装する必要があります.
例:
 
	private static String readFirstLine(String path) throws FileNotFoundException, IOException
	{
		try (BufferedReader reader = new BufferedReader(new FileReader(path)))
		{
			return reader.readLine();
		}
	}

この文はまた、複数のリソースを同時に処理し、リソース間で使用することもできます.分割.catch、finally文ブロックを使用できます.
 
 
	private static String readFirstLine(String path) 
	{
		try (BufferedReader reader = new BufferedReader(new FileReader(path));
				BufferedReader reader2 = new BufferedReader(new FileReader(path)))
		{
			return reader.readLine();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			
		}
		return null;
	}

 
 
6.catch文は一度に複数のExceptionをcatchできる
 
	private static String readFirstLine(String path) 
	{
		try (BufferedReader reader = new BufferedReader(new FileReader(path));
				BufferedReader reader2 = new BufferedReader(new FileReader(path)))
		{
			return reader.readLine();
		}
		catch(NullPointerException | IOException e)
		{
			e.printStackTrace();
		}
		return null;
	}

複数の例外を再放出する場合は、詳細な例外タイプを定義する必要はありません.メソッド定義時に放出する必要があるタイプを宣言するだけです.