Java无与伦比的数据类型char和String

当我运行Javac时,它告诉我,我有一个无与伦比的数据类型char和String

while(responseChar == "y") 

不知道要修改什么来修复此错误

 import java.util.Scanner; public class UseOrder { public static void main(String[] args) { int answer, num, q; String name, response; double p; char responseChar; Scanner keyboard = new Scanner(System.in); Order order1 = new Order(); order1.setCustomerName(); order1.setCustomerNum(); order1.setQuantity(); order1.setUnitPrice(); order1.computePrice(); order1.displayInfo(); keyboard.nextLine(); System.out.println("Do you need the shipping and handling service?"); System.out.println("Enter y or n :"); response = keyboard.nextLine(); responseChar = response.charAt(0); while(responseChar == "y") { ShippedOrder order2 = new ShippedOrder(); order2.getCustomerName(); order2.getCustomerNum(); order2.getQuantity(); order2.getUnitPrice(); order2.computePrice(); order2.displayInfo(); } } } 

要定义字符文字,请使用单引号: ' 。 双引号定义字符串文字。

 while(responseChar == 'y') 

您可以选择使用big C Character类将char转换为String

 String converted = Character.toString(responseChar); while(converted.equalsIgnoreCase("y")) { // ... } 

但是这个版本比Jeffrey提出的字面比较要冗长得多

而不是"y"做这个'y'""代表字符串。