关于jdk7中的新语法带String的switch
来源:互联网 发布:linux文件权限777 编辑:程序博客网 时间:2024/04/28 02:13
在jdk7之前的switch只能使用byte short int char enum.一旦使用了
String value = "Hello";
switch(value){
case "Hello" :
System.out.println("Hello");
break;
case "hh" :
System.out.println("hh");
break;
case "h" :
System.out.println("h");
break;
default :
System.out.println("default");
}
就会有
HelloWorld.java:12: 不兼容的类型
找到: java.lang.String
需要: int
switch(value){
在jdk7中,你完全可以大胆的使用.对应的java编译成class其实是
String value = "Hello";
String str = value;
int i = -1;
switch (str.hashCode())
{
case "Hello".hashCode():
if (str.equals("Hello")) i = 0; break;
case "hh".hashCode() :
if (str.equals("hh")) i = 1; break;
case "h".hashCode() :
if (str.equals("h")) i = 2;
}
switch (i)
{
case 0:
System.out.println("Hello");
break;
case 1:
System.out.println("hh");
break;
case 2:
System.out.println("h");
break;
default:
System.out.println("default");
}
由上面的例子我们可以看出是生成了两个swtich语句,把String 转成对应的hashCode值放入
第一个switch语句中.定义了一个变量i,值从-1开始.把结果放到第二个switch语句中.
- 关于jdk7中的新语法带String的switch
- JDK7中switch的新特性
- JAVA JDK7 新语法
- JDK7之String in switch
- JDK7之后switch支持String
- JDK7新特性<二> 语法
- JDK7语法级别新特性
- JDK7支持switch中使用String
- jdk7中switch 开始支持string 类型
- JDK7支持switch中使用String
- Java (JDK7)中的String常量和String.intern的实现
- java7 语法糖 之 switch 语句中的string
- jDK7中的String.intern()方法
- JDK7 新语法之--自动释放资源
- JDK7.0新特性-语法(Language)
- 关于jdk7的forkjoinpool
- jdk7 的一些新特性
- JDK7的新特性总结
- 参考文献著录格式(转自GB7714顺序编码制格式)
- 爱与金钱
- 使用DispatchAction类,为你的系统减肥!
- 针对java画面闪烁
- 業務効率を落とさないワークシェアリングとは
- 关于jdk7中的新语法带String的switch
- DWR获取request,response,session值
- 可怜的Sun公司,因为收购了MySQL,想卖自己都卖不了了
- 图片与二进制流之间的转换
- 我很惊讶大学生找工作要问家长 - 李开复
- 图
- sql server2005 jdbc解决自动增长列统一处理问题
- ForwardAction、IncludeAction、SwitchAction
- 复杂Struts Validation汇总