java - 错误显示 equalsIgnoreCase

标签 java jsp

我为具有值(“全职”、“兼职”)的供应商列表的下拉框编写了查询,即,我想为供应商契约(Contract)选择列表添加下拉框,其中有 2 个值,全职兼职
这是我的代码:

<td><b>Vendor Contract<font color="red">*</font></b></td>
    <td>
        <select id="Vendor Contract" name="Vendor Contract" style="width: 155" >
        <option selected value="">-select-</option>
        <% 
        Iterator<String> viterator = VendorList.iterator();
        while(viterator.hasNext()){
        String selected = ""; 
        String Vendor = viterator.next();
        if(Vendor.equalsIgnoreCase(VendorList))
        selected = "Selected";
        %>
        <option <%=selected%> value="<%=Vendor%>"><%=Vendor%></option>
        <%}%>
        </select>
    </td>   

我收到如图所示的错误:

The method equalsignorecase string in the type string isn't applicable for the arguments(array list(string))  

如何解决这个错误?

最佳答案

您将 ArrayList 传递给 equalsIgnoreCase 方法,它采用 String 类型。所以你不能将 StringStrings 列表进行比较。

根据您的代码,我认为您需要从列表中确定所选元素,而您的代码无法做到这一点,因为您一直在比较相同的值。

你需要做的是让另一个因素依赖,比如创建一个包含供应商值的类和另一个值,如果它被选中的话:

class VendorItem {
    private String value;
    private boolean selected;

    // setters and getters.
}

然后在你的代码中应该看起来像

Iterator<VendorItem> viterator = vendorItems.iterator();

while(viterator.hasNext()) {

String selected = ""; 
VendorItem vendor = viterator.next();

if(vendor.isSelected()) {
    selected = "Selected";
}

关于java - 错误显示 equalsIgnoreCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32604738/

相关文章:

java - 在多个项目中重用jsp自定义标签

javascript - 在页面加载时显示隐藏的 div

html - JQuery Sortable Scroll,会向上滚动但不会向下滚动

java - 在javafx中更新组合框中的文本字体

java - Java 可选数据异常

java - 在 GAE 上解析完全有效的 XML 时出现 "Content is not allowed in prolog"

Spring Boot Whitelabel 错误页面几乎无处不在

java - 需要使用 itext pdf 在客户端计算机中下载 pdf 文件

java - 调整浏览器窗口大小时,GWT 调整大小和居中弹出窗口

java - 在Java中检查字符串中的字母大小写(大写/小写)