1. 程式人生 > >jdk7新增的常用新特性

jdk7新增的常用新特性

1.switch中支援字串

switch中支援字串,如:

		String op="add";
		switch (op) {
		case "add":
			System.out.println("add");
			break;
		default:
			System.out.println("default");
			break;
		}

2.泛型例項可以自動推斷型別

泛型例項可以自動推斷型別,如:List<String>list=new ArrayList<String>();
可以寫成:
List<String>list=new ArrayList
<>();

Map<String, List<String>>map=new HashMap<String, List<String>>();
可以寫成:
Map<String, List<String>>map=new HashMap<>();

3.數值中可以使用下劃線

程式設計師可以在數值中使用下劃線,不管是整型數值,還是浮點型數值,都可以自由地使用下劃線。通過使用下劃線分割,可以更直觀的分辨數值中到底包含多少位。如下:

public class Test {
	public static void main(String[] args) {
		int num1=323_532_533;
		System.out.println(num1);
		double num2=3.14_15_926d;
		System.out.println(num2);
		float num3=23.446_34_5f;
		System.out.println(num3);
	}
}
輸出內容和不加分隔符一樣:
323532533
3.1415926
23.446344


4、數值中支援二進位制整數

java中整數值有4種表示方式:十進位制、八進位制、十六進位制和二進位制,二進位制為java7新增功能。二進位制的整數以0b或0B開頭;八進位制的整數以0開頭;十六進位制的整數以0x或0X開頭,其中10~15分別以a~f(不區分大小寫)來表示。

//以0開頭的整數值是八進位制的整數
int octalValue=013;
System.out.println(octalValue);//輸出十進位制11

//以0x或0X開頭的整數值是十六進位制的整數
int hexValue1=0x13;
System.out.println(hexValue1);//輸出十進位制19
int hexValue2=0XaF;
System.out.println(hexValue2);//輸出十進位制175

//以0b或0B開頭的整數值為二進位制
int binVal1=0b11010100;
System.out.println(binVal1);//輸出十進位制212
byte binVal2=0B01101001;
System.out.println(binVal2);//輸出十進位制105

//定義一個32位的二進位制整數,最高位為符號位
int binVal3=0B10000000000000000000000000000011;
System.out.println(binVal3);//輸出十進位制-2147483645