logo

Fatos sobre nulo em Java

Toda e qualquer linguagem de programação, incluindo Java, é limitada por nulo. Não há programador que não tenha enfrentado nenhum problema no código relacionado ao nulo. Os programadores enfrentam principalmente Null Pointer Exception quando tentam realizar algumas operações com dados nulos. NullPointerException é uma classe disponível que pertence ao pacote java.lang.

Antes de compreender os fatos do nulo, é necessário ter conhecimento das variáveis ​​Java. Se você não sabe o que Variável Java é, acesse o seguinte link:

Todo e qualquer desenvolvedor deve ter conhecimento sobre os seguintes fatos nulos em Java:

Maiúsculas e minúsculas

Em Java, não podemos escrever nulo como NULL ou 0 como na programação C porque nulo é literal e as palavras-chave diferenciam maiúsculas de minúsculas em Java.

Vamos dar um exemplo para entender o comportamento de nulo que diferencia maiúsculas de minúsculas.

Exemplo Nulo1.java

 // import classes and packages if any public class NullExample1 { // main() method start public static void main (String[] args) throws java.lang.Exception { // declare and initialize an object with NULL Object obj1 = NULL; // declare and initialize an object with null Object obj2 = null; // print both objects System.out.println('The value of obj1 is: '+obj1); System.out.println('The value of obj2 is: '+obj2); } } 

Saída:

Fatos sobre nulo em Java

Valor da variável de referência

Por padrão, toda e qualquer variável de referência possui um valor nulo em Java. Uma variável de referência é usada para indicar e armazenar objetos/valores do tipo de referência em Java. Classes, arrays, enumerações e interfaces, etc., são alguns tipos de referência em Java.

Portanto, um tipo de referência armazena um valor nulo se nenhum objeto for passado para um tipo de referência.

Vamos dar um exemplo para entender como funciona uma variável de referência para valor nulo:

Exemplo Nulo2.java

 // import classes and packages if any public class NullExample2 { // declare two objects private static Object obj1; private static Object obj2; // main() method start public static void main (String[] args) { // print both objects System.out.println('The value of obj1 is: '+obj1); System.out.println('The value of obj2 is: '+obj2); } } 

Saída:

Fatos sobre nulo em Java

Tipo Nulo

Em Java, null não é um objeto nem um tipo. É um valor especial que podemos atribuir a qualquer variável de tipo de referência. Podemos converter null em qualquer tipo que desejarmos, como string, int, double, etc.

Vejamos um exemplo para entender como podemos atribuir valores nulos a qualquer tipo de referência.

Exemplo Nulo3.java

 // import classes and packages if any public class NullExample3 { // main() method start public static void main (String[] args) { // pass a null value to a different type of variable // pass null to String String str = null; // pass null to Integer Integer itr = null; // pass null to Double Double dbl = null; // casting null to String String castedStr = (String)null; // casting null to Integer Integer castedItr = (Integer)null; // casting null to Double Double castedDbl = (Double)null; // print all reference type System.out.println('The value of str is: '+str); System.out.println('The value of itr is: '+itr); System.out.println('The value of dbl is: '+dbl); System.out.println('The value of castedStr is: '+castedStr); System.out.println('The value of castedItr is: '+castedItr); System.out.println('The value of castedDbl is: '+castedDbl); } } 

Saída:

como classificar um array em java
Fatos sobre nulo em Java

Autoboxing e Unboxing

Boxe automático e Desembalagem são as duas operações mais importantes que realizamos em Java. O compilador lança Null Pointer Exception quando atribuímos um valor nulo a qualquer tipo de dados primitivo em caixa durante a execução das operações.

Vamos dar um exemplo para entender o autoboxing e o fato de unboxing ser nulo.

seus exemplos de modelos

Exemplo Nulo4.java

 // import classes and packages if any public class NullExample4 { // main() method start public static void main (String[] args) throws java.lang.Exception { // pass null value to a reference type Integer itr = null; // perform unboxing operation int data = itr; // print both objects System.out.println('The value of itr is: '+itr); System.out.println('The value of data is: '+data); } } 

Saída:

Fatos sobre nulo em Java

O operador instanceof

Para verificar se um objeto é uma instância do tipo especificado ou não, usamos o instancia de operador. O instancia de operador retorna verdadeiro quando o valor da expressão não é nulo em tempo de execução. Ele desempenha um papel importante nas verificações de tipografia.

Vamos dar um exemplo para entender o instancia de operador:

Exemplo Nulo5.java

 // import classes and packages if any public class { // main() method start public static void main (String[] args) throws java.lang.Exception { // pass null value to a reference type Integer m = null; // pass a value to a reference type Integer n = 20; // print instanceof values System.out.println(m instanceof Integer); System.out.println(n instanceof Integer); } } 

Saída:

Fatos sobre nulo em Java

Estática vs. Métodos não estáticos

Não podemos chamar um método não estático em uma variável de referência com valor nulo. Se o chamarmos, lançará NullPointerException, mas podemos chamar o método estático com variáveis ​​de referência com valores nulos. Como os métodos estáticos são vinculados usando ligação estática, eles não lançarão exceção de ponteiro nulo.

Vamos dar um exemplo para entender o fato de nulo:

Exemplo Nulo6.java

 // import classes and packages if any public class NullExample6 { // define static method public static void staticMethod() { //it can be called by using a null reference System.out.println('static method can be called by null reference.'); } // define non static method public void nonStaticMethod() { //it cannot be called by using a null reference System.out.println('static method cannot be called by a null reference.'); } // main() method start public static void main (String[] args) throws java.lang.Exception { NullExample6 exp = null; exp.staticMethod(); exp.nonStaticMethod(); } } 

Saída:

Fatos sobre nulo em Java

== e! = Operadores

Em Java, esses dois operadores são permitidos com nulo. Ambos os operadores são úteis para verificar nulos com objetos em Java.

Vamos dar um exemplo para entender como esses dois operadores funcionam com null.

Exemplo Nulo7.java

 // import classes and packages if any public class NullExample7 { // main() method start public static void main (String[] args) { // pass null value to String type of variables // pass null to str1 String str1 = null; // pass null to str2 String str2 = null; // pass null to str3 String str3 = 'Test'; // compare strings if(str1 == str2){ System.out.println('str1 and str2 both are equal'); }else{ System.out.println('str1 and str2 are not equal'); } if(str2 == str3){ System.out.println('str2 and str3 both are equal'); }else{ System.out.println('str2 and str3 are not equal'); } if(str3 == str1){ System.out.println('str3 and str1 both are equal'); }else{ System.out.println('str3 and str1 are not equal'); } } } 

Saída:

Fatos sobre nulo em Java

Todo e qualquer desenvolvedor Java deve ter conhecimento de todos os fatos nulos discutidos acima.