Я проверял метод String.valueOf
и нашел, что когда null
отправлен в valueOf
, он возвращает "null"
строку вместо чистой java null
.Почему «null» String возвращается в String.valueOf вместо java null?
Мой вопрос: почему кто-то вернет "null"
строка почему бы не чистая java null
.
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
Я спрашиваю это потому, что разработчик должен будет проверить с equals
методом "null"
строки, а не как stringObj != null
.
[обновление]: хорошо были вниз голосов на этот вопрос, я не поднимая вопрос в апи, но в моей нынешней компании есть много API, который возвращает "null"
строки вместо чистого Java null
, поэтому я задал этот вопрос, чтобы узнать, стоит ли возвращать строку "null"
, если мы нашли null
строковый объект.
Вот только как это было билд вести себя. Полезно в основном для печати (и очень полезно *, что System.out.println не выдает ошибку, если передано «null») – Thilo
Не пропускайте «нуль» в первую очередь? –
_ «Я спрашиваю об этом, потому что разработчику придется проверять с помощью метода equals для строки« null », а не как stringObj! = Null.» _ Если вы напрямую сравниваете строки, просто проверьте ссылки. В противном случае это означает, что ваш метод equals основан на строковом представлении объекта, который не является хорошим. –