Почему Empty () не проверяется на NULL? - PullRequest
0 голосов
/ 03 июня 2019

Во-первых, спросите, понимаете ли вы, что английский не владеет свободно.

В настоящее время я реализую функцию загрузки с использованием MultipartFile.Он проверяет наличие пустого значения с помощью isEmpty () в случае отсутствия файла.Когда я отправляю без выбора файла, в части isEmpty () возникает исключение NullPointerException.

Итак, когда у меня нет файла, все работает нормально, если я проверяю file != null вместо isEmpty ().Если посмотреть на реализацию MultipartFile (например, CommonsMultipartFile, StandardMultipartFile ...), то это только проверка, если размер файла равен нулю.Если это так, то мне интересно, можно ли это проверить, например, file != null, чтобы проверить нулевое значение.

if(uploadFile.isEmpty()){ //Here a NullPointerException is thrown
    ...
}

if(uploadFile != null){ //Does not occur here
    ...
}

1 Ответ

1 голос
/ 03 июня 2019

Если uploadFile объект сам по себе равен нулю, это означает, что вы звоните isEmpty() на null, который выбрасывает NPE

. Вы можете комбинировать условие как

uploadFile != null && !uploadFile.isEmpty()

...