-2

ユーザー定義クラスをインスタンス化できません。別のクラスをインスタンス化しようとしている RMI サーバー用のサーバント クラスを作成しています。PFB私のコードの小さな抜粋

public void subscribe(String user, String stockSym)throws RemoteException {
    try{
           System.out.println("In the servant");
           StockUser s = new StockUser(user, stockSym);
           System.out.println("In the servant2");
           System.out.println("In the servant1");
           ......
      }

サブスクライブ --> 私のサーバント クラスのメソッド

StockUser --> インスタンス化しようとしているユーザー定義クラス

行から残りの行をスキップするだけStockUser s = new StockUser(user, stockSym);です。try-catch を使用しても、例外をキャプチャできません。行をコメントアウトStockUser s = new StockUser(user, stockSym);すると、残りのすべての行が実行されます。変数userstockSymは正しく入力されており、NULL ではありません。何が問題なのか教えてください。

4

1 に答える 1

0

stockSym.add(stock)NullPointerException初期化しないので、あなたに与えるでしょうstockSym

public StockUser(String userName, String stock) 
{ 
    stockSym.add(stock); // exception here
    this.userName = userName;
    id++; 
}

このリストを初期化する必要があります:

public StockUser(String userName, String stock) 
{ 
    stockSym = new ArrayList<String>();
    stockSym.add(stock);
    this.userName = userName;
    id++; 
}
于 2014-11-01T12:50:49.557 に答える