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
时间: 2024-12-10 12:16:01