2015-08-14 3 views
-2

Я в замешательстве. Я пробовал, ну, я не могу присвоить нулевое значение проектам, у которых нет даты. Что я делаю не так?DateFormat return null java

+1

Я не понимаю. Что такое «нуль»? –

+0

Я просто хочу вернуть null. У меня есть значение с датой и без даты. И я хочу получить: Windows 8 (Last Analyzed: 12/05/2015); Windows 10 (Last Analyzed: null); – IvanushkaDurachok

+0

Хотя ваша проблема неясно, основываясь на вашем комментарии выше, я склонен полагать, что вы ожидаете, что 'projectDate' будет пустым, когда' project.getLastAnalyzedDate() 'возвращает значение null, и вы поймаете' NullPointerException' в вашем блоке catch. Если это так, 'projectDate' сохранит свое предыдущее значение, если вы не установили его равным null, когда' project.getLastAnalyzedDate() 'возвращает значение null. Я бы подождал вашего подтверждения, но если это так, вы можете изменить способ обработки нулей. –

ответ

0

Вы просто не можете печатать в файл, когда projectDate имеет значение NULL. Это вызовет исключение NullPointerException. Вы должны проверить проверку, если projectDate имеет значение null, а затем распечатать строку «null».

private static String projectDate = null; 
public static void main(String[] args) throws Exception { 
    DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy"); 
    List<Project> projects; 
    if (projects == null || projects.size() == 0) { 
    } else { 
     for (Project project : projects) { 
      try { 
       projectDate = formatter.format(project.getLastAnalyzedDate().getTime()); 
      } catch (Exception e) { 
       System.err.println("Last Analyzed failed"); 
      } 
    } 
    if(projectDate == null) { 
      outFile.println("<LastAnalyzed>" + "null" + "</LastAnalyzed>"); 
    } else { 
      outFile.println("<LastAnalyzed>" + projectDate + "</LastAnalyzed>"); 
    } 
} 
+0

или использовать outFile.println ("" + (projectDate == null)? "Null": projectDate + ""); –

+0

Я считаю, что это не проблема. Вы можете связать «null» с строкой. –

+0

О, прости! Я тестировал и точно так же, как вы сказали. Думаю, мне еще есть чему поучиться :) –