【问题标题】:Inventory Program Java Help Needed需要库存程序 Java 帮助
【发布时间】:2016-06-03 16:17:19
【问题描述】:

我正在用 java 制作一个库存程序,我需要从索引中获取项目。我有点困惑如何从索引中返回项目。

【问题讨论】:

  • 到目前为止你尝试过什么?您是要从数组还是实际的 ArrayList 中获取它?你的代码是什么样的?
  • @Orin2005 “你的代码是什么样的?”查看编辑历史。 OP 发布了代码,但后来将其删除。

标签: java arrays class object


【解决方案1】:
public StockItem getItem(int index) {
     try
     {
         return stock.get(index)
     }
     catch(IndexOutOfBoundsException ex)
     {
         return null;
     }
}

【讨论】:

  • Exceptions 不应该这样使用,你应该检查索引是否有效。
【解决方案2】:

这是迄今为止最简单的方法!如果您只是想按位置检索项目,那么ArrayList#get 是您的方法。根据 Oracle 文档,

返回此列表中指定位置的元素。

public StockItem getItem(int index) {
    return this.stock.get(index);
}

但是,您必须为 JavaDocs 指定的 null 返回添加特殊情况。有两种方法可以做到这一点

第一种方式

public StockItem getItem(int index) {
    if (index < 0 || index >= this.stock.size()){
        return null;
    }
    return this.stock.get(index);
}

第二种方式

public StockItem getItem(int index) {
    try{
        return this.stock.get(index);
    }catch(IndexOutOfBoundsException e){
        return null;
    }
}

我建议第一种方法,因为尽管有额外的逻辑,但在代码中使用Exceptions 作为常规控制流并不是一个好的做法。更多讨论请见thisthis

【讨论】:

  • 如果索引无效,我应该如何返回null?我应该添加 else return null 吗?
  • @latif.daniya 更新了我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多