java - 如何检查非原始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;
}
我收到错误返回可能未初始化。
解决方案
您必须初始化Ticket
对象,因为如果您的数组没有任何具有相同 ticketId 的对象,那么您的Ticket
oibject 将保持未初始化状态。您的比较也是错误的。您必须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;
}
推荐阅读
- c# - Google Cloud Vision API 和 Xamarin 的未处理异常
- python - Pandas - 日期范围内每一天的新行
- c - 如何使用 Tensorflow C-API 保存 TensorFlow 模型
- css - 谷歌浏览器获取 IE9 特定的媒体查询
- r - 在 purrr::map2 中使用 dplyr::recode 时的命名列表问题
- java - 具有空模型的 RecyclerView
- css - 使用通用兄弟选择器(〜)的焦点输入的样式兄弟?
- c++ - GDB 共享对象无法在当前上下文中获取符号
- unit-testing - MyBatis - 如何对结果图进行单元测试?
- visual-c++ - VS 2017 中的 Visual C++ 在调试模式下隐藏成员变量的值