От JavaDoc: возвращает: Строка, которая является результатом вычисления выражения и преобразования результата в строку.String javax.xml.xpath.XPathExpression.evaluate (объект объекта) гарантирует, что он никогда не возвращает значение null во всех реализациях?
/**
* ...
* ...
* @return The <code>String</code> that is the result of evaluating the expression and converting the result to a
* <code>String</code>.
* ...
* ...
*/
String javax.xml.xpath.XPathExpression.evaluate(Object item)
Вопрос в том, что это немного вагу, что такое контракт здесь, если выражение ничего не находит. Является ли null действительным/недействительным возвратом во всех реализациях? где определяется API возврата? в JSR?
имеет смысл, но это документально где-то? есть ли официальное руководство для разработчиков этого API, чтобы избежать возврата null? и есть ли ссылка на него? И если да, то как бы отличаться «ваш xpath нашел узел, и он содержал значение« пустая строка »на« ваш xpath ничего не нашел »? (Я предполагаю, что для этого у вас есть оценка, возвращающая объект) –
Если вы ничего не нашли, XPath возвращает пустую последовательность, которая преобразуется в пустую строку (http://www.w3.org/TR/xquery-operator/# func-string) – Jerome
javax.xml.xpath.XPathExpression.evaluate (объект объекта, QName returnType) возвращает значение null, если оно ничего не обнаруживает –