首页 > 解决方案 > 如何检查非原始java数组是否具有某个元素

问题描述

我正在尝试搜索具有名为Tickets 的类的值的Java 数组具有特定的票证对象...带有用于原始数据类型的if 语句的通常for 循环不起作用

我试过下面的东西

public  Ticket retrieve(String ticketID){
    Ticket retur;
    for(int i=0;i<numTickets;i++){
        if (tickets[i].equals(ticketID)){
        retur = tickets[i];
        }
    } 
    return retur;
}

我收到错误返回可能未初始化。

标签: javaarrayssearch

解决方案


您必须初始化Ticket对象,因为如果您的数组没有任何具有相同 ticketId 的对象,那么您的Ticketoibject 将保持未初始化状态。您的比较也是错误的。您必须ticketId与某个Ticket对象领域进行比较。喜欢tickets[i].getId().equals(ticketID)

public Ticket retrieve(String ticketID){
        for(int i=0;i<numTickets;i++){
            if (tickets[i].equals(ticketID)){
               return tickets[i];//If tickets[i] is a `String` object then you have to convert it into `Ticket` object before returning. Or if `tickets[i]` is a `Ticket` object then you comparison is wrong.
            }
        } 
        return null;
 }

推荐阅读