已安装 Java SE 7,但不支持 switch 中的字符串
我最近在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
验证您的 java 编译器版本:
Verify your java compiler version:
这不是编译器的问题,而是类型转换的问题,你对类型转换很了解,只需在 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.