已安装 Java SE 7,但不支持 switch 中的字符串

发布于 2024-11-16 13:37:50 字数 427 浏览 2 评论 0原文

我最近在我的 Ubuntu 上安装了 Java SE 7,并尝试使用字符串开关来编译代码,但无法做到这一点。我是从命令行编译的。为什么?

java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b146)
Java HotSpot(TM) Server VM (build 21.0-b16, mixed mode)

 incompatible types
 found   : java.lang.String
 required: int
        switch(attributes.getValue("tod")){
                                  ^
 1 error

I've recently installed Java SE 7 on my Ubuntu and tried to compile code with switch on string but couldn't do that. I compiled from command-line. Why?

java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b146)
Java HotSpot(TM) Server VM (build 21.0-b16, mixed mode)

 incompatible types
 found   : java.lang.String
 required: int
        switch(attributes.getValue("tod")){
                                  ^
 1 error

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深爱不及久伴 2024-11-23 13:37:50

验证您的 java 编译器版本:

javac -version
    ^

Verify your java compiler version:

javac -version
    ^
小ぇ时光︴ 2024-11-23 13:37:50

这不是编译器的问题,而是类型转换的问题,你对类型转换很了解,只需在 Eclipse 中检查你的程序并运行程序即可。
检查此方法以在 switch 语句 attribute.getValue("tod") 中获取正确的整数值。
User System.out.println(attributes.getValue("tod"));您将获得开关中传递值的正确信息。

its not problem of compiler but its problem of type casting and you are well know about typecasting,just check your program in eclipse and run program.
check this method to get proper integer value in switch statement-attributes.getValue("tod").
User System.out.println(attributes.getValue("tod")); and you will get proper information of the passing value in switch.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文