首页 > 代码库 > java7 语法糖 之 switch 语句中的string

java7 语法糖 之 switch 语句中的string

  Jdk7新增的switch 语句中常量可以string类型,

例如:

@Test
	public void test_1(){
		String string = "hello";
		switch (string) {
		case "hello":
			System.out.println(string);
			break;

		default:
			throw new IllegalArgumentException("非法参数");
		}
	}

  语法糖的背后,其实用的对待string 类型时候,用的是hashCode() 方法转换的.

所以string 类型不能为 NULL.

例如:

@Test
	public void test_3(){
		String string = null;
		expectedException.expect(NullPointerException.class);
		switch (string) {
		case "hello":
			System.out.println(string);
			break;

		default:
			throw new IllegalArgumentException("非法参数");
		}
	}

会抛出异常
NullPointerException

java7 语法糖 之 switch 语句中的string