В java Doc написано, что String.valueOf() вернет «null», если аргумент имеет значение null, но на практике он дает исключение null-указателя для нулевого аргумента. Я хочу понять причину. Пытался посмотреть на GREPCODE, не смог. Пожалуйста, объяснитеString.valueOf() Null pointer
-1
A
ответ
0
Ваш звонок активирует String.valueOf(char value[])
, который выдает NPE в случае нулевого аргумента. String.valueOf(Object value)
работает, только если вы отбрасываете объект на этот метод. Посмотрите на here
1
Если у вас есть такой код:
System.out.println(String.valueOf((Object) null));
«нулевой» печатается на консоль. Если у вас есть:
System.out.println(String.valueOf(null));
a NPE выбрасывается.
Это потому, что значение Of перегружено.
Для объяснения NPE, если вы исследуете код String.valueOf (полукокса []):
return new String(data);
и конструктор для строки является:
public String(char value[]) {
this.value = Arrays.copyOf(value, value.length);
}
На этой линии NPE выбрасывается с помощью s tatement value.length.
Смежные вопросы
- 1. Android null pointer onClick
- 2. Java Generic Object Null Pointer Check Throwing Null Pointer Exception
- 3. Null Pointer при создании шара
- 4. Исключение Null Pointer в Android
- 5. Android - Null Pointer Exception
- 6. Почему String.valueOf (null) вызывает исключение нулевого указателя?
- 7. Null Pointer Исключение: null error
- 8. Почему «null» String возвращается в String.valueOf вместо java null?
- 9. Исключение Null Pointer
- 10. Android autocomplete null pointer
- 11. Исключение Null Pointer
- 12. android null pointer error
- 13. Mockito - Null Pointer Exception
- 14. Null Pointer Exception-android.widget.onTouchEvent
- 15. Expression invalid null pointer
- 16. EasyMock.expect() throwing null pointer
- 17. Сервисный класс null pointer
- 18. Исключение Null Pointer GGTS
- 19. Исключение Null Pointer
- 20. Null pointer with iterator.next
- 21. Libgdx Null Pointer Exception
- 22. Исключение Java Null Pointer
- 23. Исключение Null Pointer
- 24. ExpandableListView Null Pointer Exception
- 25. Null pointer Exception - findViewById()
- 26. Исключение Null pointer Zxing
- 27. Libgdx null Pointer
- 28. PHP/Pointer возвращает null
- 29. Null Pointer Assistance.
- 30. JxMaps Null Pointer Exception
См. Здесь: http://stackoverflow.com/questions/3131865/why-does-string-valueofnull-throw-a-nullpointerexception –
Вы внимательно читали документы? В нем говорится: «Если не указано иное, передача нулевого аргумента конструктору или методу в этом классе приведет к вызову NullPointerException». – Sajmon