Java:通过对象实例中的变量搜索数组

时间:2016-04-09 21:08:58

标签: java arrays search

总体目标是创建一个图书馆模拟,允许搜索书籍和交易,例如借书。我只包括了我认为相关的部分。

我在stock类中有数组Biblio,如下所示:

public class Biblio{
    private ArrayList<Book> stock;

和带有构造函数的Book类:

    public Book(String author , String title)
    {
        this.author = author;
        this.title = title ;
        code = null;//this is a String

    }

在main方法中,我尝试使用codeString)搜索Book对象,我在findCode中使用Biblio方法类:

    public Book findCode(String searchedCode){
        Book foundBook = null;
        for(Book bookObj : stock){

            if(bookObj.getCode().equxals(searchedCode)){
                 bookObj= foundBook;}//
        return foundBook;
    }

以下是我目前使用的主要方法中的代码:

 Biblio libSim;
 libSim = generateLib();                            
                                   ...
System.out.println(libSim.findCode(scan.next()));

但输出结果为null,我认为这是因为foundBook等于null。但是,我无法返回bookObj

我不知道如何通过搜索code变量在数组中找到对象。这些书籍以另一种方法添加到库中,并使用setter方法将code等于null设置为格式为LIB0001的字符串,这是在我调用之前完成的findCode方法。

如何通过在数组中搜索特定的实例变量来找到对象?

1 个答案:

答案 0 :(得分:0)

您无法将字符串与==

进行比较

请参阅此处了解如何正确执行此操作:How do I compare strings in Java?