Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
O que é uma exceção de ponteiro nulo
? Todo programador Java eventualmente escreve um programa que produz a mensagem de erro " NullPointerExceptions " . É particularmente enigmática para aqueles que estão começando suas carreiras de programação , aprendendo Java , que não expõe os programadores para o conceito de um ponteiro. Ponteiros

Um ponteiro é um termo de ciência da computação para uma variável que , em vez de manter um pouco de informação , tem um endereço para onde essa informação pode ser encontrada na memória de um computador. Você pode imaginar a variável como um sinal de que "pontos" para onde a informação pode ser encontrada. Em linguagens como C + + , o programador tem de fazer uma escolha explícita sobre se uma determinada variável irá armazenar as informações diretamente ou , ao contrário, manter um ponteiro para a informação e esta escolha pode ter um efeito profundo sobre a eficiência do programa. Por exemplo, se uma determinada classe contém alguns megabytes de informações que devem ser passadas para uma função, ela é muito mais eficiente para dar a função um ponteiro de copiar todas as informações diretamente.

Java poupa programadores este dilema e os erros que ele pode produzir , escondendo ponteiros do programador .
Null Null

é outro termo especial em ciência da computação. Trata-se de uma variável que , literalmente, não contém nenhuma informação . Até há algumas informações que lhe é atribuído , é dito para ser igual a zero . Por exemplo, no código a seguir :

String s ; s = new String () ;

Após a primeira linha estiver concluída, "s" é igual a null. Após a segunda linha estiver concluída, "s" é igual a uma cadeia vazia.
Null Ponteiros

Embora Java tenta esconder ponteiros do programador, há um exemplo, quando ele não pode fazê-lo. Todas as aulas são realmente ponteiros para posições de memória onde os dados para a classe pode ser encontrada. Isso torna mais rápido quando as aulas devem ser passados ​​dentro e fora de funções. No entanto , no exemplo acima , após a primeira linha é executado , um ponteiro tem sido reservada para " s ", mas não há dados foi criada . "s" não tem memória reservado para ele, por isso é um " ponteiro nulo. "

Null Pointer Exceções

Agora que você sabe o que é um ponteiro nulo é , considere o seguinte duas linhas de código :

string s ; s.charAt (0 ) //Pega o primeiro caracter da string

o código está pedindo o primeiro caractere . um objeto string que simplesmente não existe. Em outras palavras, ele está pedindo o impossível. Assim que isso ocorrer, Java percebe o problema e lança uma " NullPointerException " para permitir que o usuário ou o programador sabe que algo deu errado.
Exemplo

Mais programadores Java nunca cometa o erro acima: eles sabem objetos como cordas deve ser inicializado com o comando "new". No entanto, considere a seguinte função:

impressão public void (String s) {System.out.println ( s); }

Inicialmente , este código parece bem : a função recebe uma String a partir de em outras partes do programa e imprime na tela. No entanto, se a pessoa que está executando a função de enviado é uma seqüência que não foi devidamente inicializado ? A NullPointerException seria lançada.
Depuração e Prevenção

O primeiro passo para a prevenção NullPointerExceptions é garantir que novos objetos de classe são sempre devidamente inicializado. No entanto, ninguém é perfeito , então o segundo passo é adquirir o hábito de realizar policiamento de dados para funções. Dados de entrada deve sempre ser tratado como indigno de confiança , de modo a seguinte modificação poderia ser feita :

impressão public boolean (String s) {try {System.out.println ( s); return true; //Deixe o resto . do programa conhecer a operação foi bem sucedida } catch ( NullPointerException e) { return false; . //Deixe o resto do programa conhecer a operação falhou }}

a vantagem dessa abordagem pró-ativa é que o resto do programa pode ser escrito para julgar o quão sério é o problema , ao invés de deixar imediatamente e dar ao usuário uma mensagem de erro feio e enigmática.

Anterior :

Próximo : No
  Os artigos relacionados
·Como fazer um instalador Java 
·Como se livrar de error.jsp 
·Um tutorial rápido sobre Struts 
·Como compilar em Java 
·Como fazer exame de entrada em Java Usando um Scanner 
·Como escrever sua própria simples Java Message Queue 
·Como obter um arquivo eficiente usando FTP em Java 
·Como desmontar Java 
·Como configurar um quadro branco com Applets Java 
·Diferença entre exceções verificadas e não verifica…
  Artigos em destaque
·Como associar extensões de arquivo com programas 
·Qual é a diferença entre SHA e SHA-1 Criptografia 
·Como construir um jogo Android Usando Eclipse 
·Como contar em binário para Total de Iniciantes 
·Como escrever código Object Oriented eficaz 
·Como escrever um programa em C para imprimir uma série…
·Como fazer um programa de teste de múltipla escolha em…
·Como acessar o buffer de tela em C + + 
·Como adicionar detalhes da superfície de modelos 3D 
·Como usar um Iterator STL Vector 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados