将arraylist传递给另一个类以检查可用性及其过期日期的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将arraylist传递给另一个类以检查可用性及其过期日期的方法相关的知识,希望对你有一定的参考价值。

我有一个Arraylist,我想将它传递给另一个类来检查可用性及其过期日期。有什么方法?

public Boolean Checkup (Product[]x, String code ) { 


   if (Product.contains(true)) {
   \\ why it is error    
       System.out.println("Product is availible");
   } 
   else 
   {
       System.out.println("Product is not availible");
   }

}
答案

您应该更清楚的第一件事是用于存储产品的数据结构。我假设它是ArrayList,因为你提到它并使用'contains'方法。但是在checkUp方法中,您使用一组产品作为输入。这里有两个例子:

Product[] products = new Product[5]; // This is an example of array of products

List<Product> productList = new ArrayList<>(); // This is an example of an ArrayList of type products

现在我将继续假设您打算使用ArrayList。

由于我看到您传递的代码,我认为您打算找到具有指定代码的产品。所以对于一个看起来像这样的类:

public class Product {
    private String code;
    private String otherValue;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getOtherValue() {
        return otherValue;
    }

    public void setOtherValue(String otherValue) {
        this.otherValue = otherValue;
    }

}

然后,您需要一种方法来确定您的产品ArrayList是否包含具有此代码的产品。它可能是这样的:

public Optional<Product> tryGetProductWithCode(List<Product> productList, String targetCode) {
    for(Product product: productList) {
        if(product.getCode().equals(targetCode)){
            return Optional.of(product);
        }
    }
    return Optional.empty();
}

然后你的检查方法是:

public boolean checkup(List<Product> productList, String targetCode) {
    Optional<Product> potentialProduct = tryGetProductWithCode(productList, targetCode);
    if(potentialProduct.isPresent()) {
        System.out.println("Product is present");
        return true;
    }else {
        System.out.println("Product not found");
        return false;
    }
}

现在我看到你使用了contains方法,即使我认为这不是你需要的,让我再给它一些信息。

在contains方法中,您应该传递类Product的实例。然后调用contains方法,它将尝试查找您提供的产品是否确实是ArrayList的成员。它看起来像这样:

productList.contains(someProduct);

它将返回true或false。它使用Product类的equals方法检查它是否“包含”,因此请务必覆盖它。这是一个有用的link。您的IDE(如IntelliJ或Eclipse)也可以为您执行此操作,并允许您选择要在检查中使用的属性。

但我的猜测是,上述解决方案是您需要的。最后,在某些时候检查java naming conventions.

以上是关于将arraylist传递给另一个类以检查可用性及其过期日期的方法的主要内容,如果未能解决你的问题,请参考以下文章

将 ArrayList 的 ArrayList 传递给另一个类

将二维数组传递给另一个类 C++

编辑和保存已传递给另一个活动的 ArrayList<>

如何将数组传递给另一个活动?

通过 Intent 传递 ArrayList

将对象类型变量传递给另一个类但保持结构?