我正在尝试编写一个使用char来表示每个case的switch语句。在我的教科书中,示例显示我可以使用char来执行此操作,但是当我编译程序时,我得到了这个:
StudentInvoiceListMenuApp.java:54: error: incompatible types
case 'R':
^
required: String
found: char
1 error
这是我的代码:
switch (inputCode) {
case 'R':
System.out.println("\nEnter file name:");
fileName = menuApp.nextLine();
if (inputCode.trim().length() == 0) {
break; // no file name entered
}
答案 0 :(得分:5)
看起来inputCode
的类型为String
,而不是char
...所以如果您使用的是Java 7,则只需将其更改为:
case "R":
或者,将inputCode
的类型更改为char
,并在其他位置进行适当调整。 (如果你没有使用Java 7,这将是你唯一的选择 - 但我怀疑你 使用Java 7,否则你会得到不同的编译器错误。)
答案 1 :(得分:1)
问题是inputCode是一个字符串。如果你想看一下你应该做的字符串的第一个元素:
switch (inputCode[0]) {
如果您想与单个字符串进行比较,您应该这样做:
case "R":
答案 2 :(得分:0)
inputCode
似乎是String
的实例,您正在尝试将其与char
进行比较,
在java -7
之后支持switch中的字符串答案 3 :(得分:0)
inputCode
是一个String实例。