NullPointerException
s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException
. Они наиболее распространены, но другие способы перечислены на странице NullPointerException
javadoc.
Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException
, be:
public class Example {
public static void main(String[] args) {
Object obj = null;
obj.hashCode();
}
}
В первой строке внутри main
я явно устанавливаю ссылку Object
obj
равной null
. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException
, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.
(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Объект узла является основным типом данных для всего DOM.
узел А может быть узлом элемента, узлом атрибута, текстовым узлом или любыми другими из типов узлов, объясненных в главе "Типов узлов".
элемент XML - все от (включения) тега запуска элемента к (включению) конечного тэга элемента.
Различные спецификации W3C определяют различные наборы типов "Узла".
Таким образом, спецификация DOM определяет следующие типы узлов:
Document
- Element
(максимум одного), ProcessingInstruction
, Comment
, DocumentType
DocumentFragment
- Element
, ProcessingInstruction
, Comment
, Text
, CDATASection
, EntityReference
DocumentType
- никаких детей EntityReference
- Element
, ProcessingInstruction
, Comment
, Text
, CDATASection
, EntityReference
Element
- Element
, Text
, Comment
, ProcessingInstruction
, CDATASection
, EntityReference
Attr
- Text
, EntityReference
ProcessingInstruction
- никаких детей Comment
- никаких детей Text
- никаких детей CDATASection
- никаких детей Entity
- Element
, ProcessingInstruction
, Comment
, Text
, CDATASection
, EntityReference
Notation
- никакие дети Инфонабор XML (используемый XPath) имеет меньший набор узлов:
XPath имеет следующие Типы узлов:
ответ на Ваш вопрос ", Что является различием между элементом и узлом ":
An element is a type of node. Many other types of nodes exist and serve different purposes.
Узел является частью дерева DOM, Элемент является конкретным типом Узла
, например, <foo> This is Text </foo>
у Вас есть Элемент нечто, (который является также Узлом, поскольку Элемент наследовался Узлу), и текстовый Узел, 'Это - текст', который является ребенком Элемента/Узла нечто
Узел может быть многими различными видами вещей: некоторый текст, комментарий, элемент, объект, и т.д. Элемент является конкретным видом узла.
Как описано в различном XML спецификации , element
то, что, который состоит из тега запуска, и конечного тэга и промежуточного содержания, или поочередно пустой тег элементов (который не имеет никакого содержания или конечного тэга). Другими словами, это все элементы:
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
, Хотя Вы слышите "узел", используемый примерно с тем же значением, он не имеет никакого точного определения на спецификации XML. Это обычно используется для обращения к узлам вещей как DOMS, который может быть тесно связан с XML или использовать XML для их представления.
Узел является базовым классом и для элементов и для атрибутов (и в основном все другие представления XML также).
Элемент является единственным видом узел , который может иметь дочерние узлы и атрибуты.
Документ также имеет дочерние узлы, НО
никакие атрибуты, никакой текст, точно один дочерний элемент.
Элемент является типом узла, как атрибуты, текст и т.д.
Теперь я знаю, что элемент является одним из узлов
Все типы узлов здесь"http://www.w3schools.com/dom/dom_nodetype.asp"
Элемент находится между начальным тегом и конечным в конечном теге
Таким образом, текстовый узел является узлом, но не элементом.