2016-04-09 10 views
-2

総合的な目標は、図書を借りるなどの書籍とトランザクションの検索を可能にするライブラリシミュレーションを作成することです。私は関連性があると思う部分だけを含んでいます。Java:オブジェクトのインスタンス内の変数による配列の検索

次のように私はBiblioクラスの配列stockを持っている:

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 

    } 

codeString)を使用しているオブジェクトの場合、BiblioクラスのfindCodeメソッドを使用しています:

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がヌル等しいので、それはあると思います。しかし、私はbookObjを返すことはできません。

code変数を検索することで、配列内のオブジェクトを見つける方法がわかりません。書籍は別の方法でライブラリに追加され、セッターメソッドを使用してがnullに等しい文字列をLIB0001の文字列に設定しました。これはfindCodeメソッドを呼び出す前に行われます。

特定のインスタンス変数の配列を検索すると、オブジェクトをどのように見つけることができますか?

+0

質問をされていない、それは私がでオブジェクトを見つけるのですかありますオブジェクトのインスタンス変数を比較して配列を作成しますか?私が.equals()を使うとき、私はまだそれを動作させる問題があります。 – Maitiu

+0

私はlambdasを使って答えました。私はそれを投稿したいと思います。残念な。 – duffymo

+0

私が使用できる答えではないでしょう。 – Maitiu

答えて

0

あなたは

はそれを正しく行う方法についてはこちらをご覧==で文字列を比較することはできません:私は、文字列を比較行う方法How do I compare strings in Java?

+0

できなかったことを知らなかった。しかし、私はもともと '.equals()'を持っていましたが、警告 'object is null null is not true'、 – Maitiu

+0

Stringはオブジェクトなので、equalsを使う必要があります。それはintまたはdoubleとは異なります。 –

+0

私は.equals()もともと持っていますが、これは決して私にとってはうまくいきませんでした。問題は文字列をどうやって比較するのかということではなく、オブジェクトのインスタンス変数を比較して配列内のオブジェクトを見つける方法です。 – Maitiu

関連する問題