Java 如何正确比较一个字符串与另一个字符串
我对以下Java 如何正确比较一个字符串与另一个字符串,java,string-comparison,Java,String Comparison,我对以下if条件有问题 if(!(type=="image/jpeg" || type=="image/png" || type=="image/gif")){ throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Only jpeg, png or gif", "")); } 当type为image/jpeg时,它仍会抛出ValidatorException。当我将类型直接硬编码到图像/
if
条件有问题
if(!(type=="image/jpeg" || type=="image/png" || type=="image/gif")){
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Only jpeg, png or gif", ""));
}
当
type
为image/jpeg
时,它仍会抛出ValidatorException
。当我将类型
直接硬编码到图像/jpeg
时,它可以工作。所以我希望你们能帮助我,因为我真的不知道问题出在哪里。我测试了你们的代码,发现了一个异常,为什么你们得不到正确的输出,你们需要修改
if(!(type.equals("image/jpeg") || type.equals("image/png") || type.equals("image/gif")){
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Only jpeg, png or gif", ""));
}
注意:首先需要使用System.out.println(“Type-value:+Type”)进行调试代码>输出格式是什么,然后需要将相同的格式放入if语句中,如type.equals(“jpeg”)或type.equals(“image/jpeg”)来检查验证
它对我有效,我希望它也能对您有效。if语句中的问题,您需要使用sop进行调试,并在String type=file.getContentType()中找到答案;然后需要用equals()方法检查if语句中的相同值。谢谢,它正在工作