Исключение в потоке "main" java.lang.NullPointerException - PullRequest
0 голосов
/ 07 сентября 2011

Сегодня утром я борюсь со странной ошибкой NullPointerException

String a,b;

a = this.getA();
b = this.getB();

if(a == null || a.equals(""))
    a = "unknown a";
if(b == null || b.equals(""))
    b = "unknown b";

System.out.println("a = " + a + " & " + "b = " b);
// the output is : a = a & b = unknown b

process(a,b); // The error occure here

В этот момент я получаю: Exception in thread "main" java.lang.NullPointerException

В чем здесь проблема?!

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Ни одна из этих линий не может выдать NullPointerException. Я могу только представить, что это в какой-то другой части вашего кода. В будущем, пожалуйста, опубликуйте всю трассировку стека, когда ваш вопрос об исключении.

РЕДАКТИРОВАТЬ: ОК, вы указали, что это в process(). Так почему вы опубликовали этот код, вместо process()?

0 голосов
/ 07 сентября 2011

Вы говорите в своем комментарии, что b = неизвестно b, что означает, что this.getB () == null или пустая строка. Я предполагаю, что что-то в вашем методе process (a, b) пытается использовать это исходное значение b. Если вы снова выполните getB (), будет ли сброшено значение?

Если вы опубликуете ваш метод процесса (a, b), мы могли бы проверить / подтвердить это, поскольку это могут быть только предположения, пока мы не увидим фактический код.

...