2017-06-06 5 views
-5

Hallo folgendes SzenarioKonstruktor warf Ausnahme verschachtelte Ausnahme ist java.lang.NullPointerException

@Component 
public class DateFormatter() { 

public String DateToString() { 
    //some Logic; 
     } 
    } 

public class DataProvider{ 

@Resource("dateFormatter") 
private DateFormatter dateFormatter; 

public void test(){ 
    Date date = new Date(); 


    String formattedDate = this.dateFormatter(date); 

    system.out.print("Formatted Date is :" + formattedDate);} 
} 

Konstruktor warf Ausnahme verschachtelte Ausnahme ist java.lang.NullPointerException ist, was ich auf meiner Konsole sehen

+0

Gibt es keinen StackTrace? Es sollte Ihnen sagen, welcher Konstruktor nullpunktiert ist. Außerdem enthält nicht der Code, den Sie hier gepostet haben, einen Konstruktor, der möglicherweise nullpointer ... –

+1

'öffentliche Klasse DateFormatter() {' ist nicht in erster Linie kompilierbar – A4L

+0

Bitte formatieren Sie Ihren Code, so dass es lesbar ist. –

Antwort

0

this.dateFormatter(date); ist Aufrufen von DateFormatter und dateFormatter und es gibt keine Methode wie diese. dateFormatter in Ihrem Beispiel ist keine Methode.

Sie können die DateToString-Methode mit Datum im Parameter nicht aufrufen und in der Methodendeklaration nicht angeben.

public class DataProvider{ 

     private DateFormatter dateFormatter; 

     public void test(){ 
      Date date = new Date(); 

      DateFormatter dateFormatter = new DateFormatter(); 
      String formattedDate = dateFormatter.DateToString(date); 

      System.out.print("Formatted Date is :" + formattedDate);} 
    } 

Oder Sie können so etwas tun: public class DataProvider- {

private DateFormatter dateFormatter; 

    public DataProvider(DateFormatter dateFormatter) { 
     this.dateFormatter = dateFormatter; 
    } 

    public void test(){ 
     Date date = new Date(); 

     String formattedDate = dateFormatter.DateToString(date); 

     System.out.print("Formatted Date is :" + formattedDate);} 
} 

Sie haben Instanz eines Objekts zu erstellen, ein Verfahren zu nennen.

+0

Entschuldigung es ist this.dateFormatter.DateToString (Datum) – Wayne

Verwandte Themen