黑马程序员技术交流社区

标题: java 7switch语句后面的表达式支持String类型了 [打印本页]

作者: 庄星睿    时间: 2012-6-9 21:14
标题: java 7switch语句后面的表达式支持String类型了
之前一直都看视频,视频讲的用的6,刚换了7,原来switch语句后面的控制表达式除了能支持的byte、short、char、int 等四个整数类型和枚举类型,还能支持String类型的变量或表达式-----只能是java.lang.String类型,不能使StringBuffer或StringBuilder这两种字符串类型。

                String season ="夏天";
                switch (season)
                {
                        case "春天":
                                System.out.println("春天");
                                break;
                        case "夏天":
                                System.out.println("夏天");
                                break;
                        case "秋天":
                                System.out.println("秋天");
                                break;
                        case "冬天":
                                System.out.println("冬天");
                                break;
                        default:
                                System.out.println("季节输入错误");

               
                }
作者: kevindavid    时间: 2012-6-9 22:44
抱歉!你这是错误的哈!貌似现在还不可以支持吧!我用你代码编译
switchdemo1.java:5: 不兼容的类型
找到: java.lang.String
需要: int
                 switch (season)
                         ^
1 错误
我郁闷 这样的垃圾贴也发1只要代码试验一下就知道 了啊你就可以看到这个不是支持的
作者: 许恩君    时间: 2012-6-9 22:56
kevindavid 发表于 2012-6-9 22:44
抱歉!你这是错误的哈!貌似现在还不可以支持吧!我用你代码编译
switchdemo1.java:5: 不兼容的类型
找到: ...

开始查了下JDK 7 是支持这样的情况的  oracle都说支持啦 详见 http://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html   好好看下吧。只能说我们学的太落后了,学校还是用java2,不能草率的下结论,得先看看官方的说法。
作者: 吴小东    时间: 2012-6-10 10:46
确实新特性 已经支持字符串格式了,呵呵  现在技术都更新的太快了 我们要跟上节奏。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2