2016-04-02 9 views
0

オブジェクトの配列を返すコードを書きました。これらのオブジェクトを呼び出されたメソッドに保存するにはどうすればよいですか?Javaでオブジェクトの配列を渡し、呼び出されたメソッドにオブジェクトの配列を保存する

public Ticket[] getOpenTicket() { 
     int ticketcount = 0; 
     for (int i = 0; i < ticket.length; i++) { 
      if (ticket[i] != null && ticket[i].getResolvedBy() == null) { 
       ticketcount = ticketcount + 1; 
       // System.out.println("Ticket raised by : " + 
       // ticket[i].getTicketno()); 
      } 
     } 

     Ticket[] opentickets = new Ticket[ticketcount]; 
     for (int i = 0; i < ticket.length; i++) { 
      if (ticket[i].getResolvedBy() == null) { 
       opentickets[i] = ticket[i]; 
      } 
     } 
     return opentickets; 

    } 

これは私がopenticketを呼び出していた場所から呼び出される関数です。この行で

public class CheckTicket { 
    public Ticket [] openTicket() { 
     return arrayOfTickets; // wherever that comes from 
    } 
} 

CheckTicket cc = new CheckTicket(); 
Ticket[] t1 = cc.openTicket(); 
+0

tickettypeが定義されています

あなたのような何かにあなたのループを変更する必要がありますか?あなたはそれが初期化されていると確信していますか?問題を再現できるほどのコードを投稿してください。 – nhouser9

+0

はい私はそれが初期化されていると確信しています –

+0

あなたのコードを更新したので私の答えを見てください。 – nhouser9

答えて

1

は、それがこのようなより多くのを見てはいけませんコード

Ticket[] opentickets = new Ticket[ticketcount]; 
    for (int i = 0; i < ticket.length; i++) { 
    if (ticket[i].getResolvedBy() == null) { 

チケットは[null]になりませんか?あなたの問題を引き起こす可能性が最も高いと思われます。null参照である可能性のあるメソッドを呼び出します。

Ticket[] opentickets = new Ticket[ticketcount]; 
int ticketIndex = 0; 
for (int i = 0; i < ticket.length; i++) { 
    if (ticket[i] != null && ticket[i].getResolvedBy() == null) { 
    opentickets[ticketIndex] = ticket[i]; 
    ticketIndex++; 
    } 
} 
+0

上記のコードを試しましたが、まだNULLポインタの例外をスローしています –

0

TicketDaoMemImpl tdmi=new TicketDaoMemImpl(); 
Ticket [] obj1=tdmi.getOpenTicket(); 

おかげ

関連する問題