- UID
- 303715
- 在线时间
- 0 小时
- 最后登录
- 1970-1-1
- 注册时间
- 2012-12-18
- 宅魂
- 1482 点
- 贡献
- 73 点
- 宅币
- 6077 枚
- 灵石
- 0 块
- 元气(技能点)
- 21 点
- 活跃
- 10 ℃
- 听众
- 5
- 收听
- 1
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
第一章
- 积分
- 11792
|
本帖最后由 狂奔的瘦子 于 2013-3-24 12:37 编辑
嘛...众所周知,java一直以来在switch的条件里只支持与整数兼容的类型(如char,byte,short,int和Character,Byte,Short,Integer)和枚举类型,这样导致开发的时候无比的蛋疼,尤其是遇到根据字符串不同进行选择的语句...大致就是要么把字符串通过各种手段转成int类型,要么就是用各种的if else if,多写了很多的代码......
不过现在解脱了...sun公司终于发现了众多程序员的怨念...在Java7里面让switch支持了String类型的表达式!!我们终于解放了有木有!!!为了根据字符串选择不用写那么多代码了有木有!!!!以后写代码完全可以这样了,如下:
[mw_shl_code=java,true]public class TestSwitch{
public void show(String name){
switch(name){
case "Whisper1166":
System.out.println(name + "是坏人");
break;
case "Mr_Alex":
System.out.println(name + "是笨笨");
break;
case "狂奔的瘦子":
System.out.println(name + "是聪明的大好人");
break;
}
}
}[/mw_shl_code]
有木有简单了不少!!!
同样的...在使用新的switch时要注意几点:
1.表达式的值不能为null,也就是说你的字符串不能是空对象!!但是可以是空字符串
2.在case语句中也不能有null
3.case子句中的值是不能重复的...包括Unicode转义字符,例如,男和\u7537这两个分别做成同一switch的子句值时,会编译错误
以上.就是java新特性中关于switch改变的介绍.....@Whisper1166 @Mr_Alex
|
评分
-
查看全部评分
|