logo

Чињенице о нулл у Јави

Сваки програмски језик, укључујући Јаву, ограничен је нулом. Не постоји програмер који се није суочио са проблемом у коду који се односи на нулл. Програмери се углавном суочавају НуллПоинтерЕкцептион када покушавају да изврше неке операције са нултим подацима. НуллПоинтерЕкцептион је доступна класа која припада пакету јава.ланг.

Пре разумевања чињеница о нулл, потребно је познавање Јава променљивих. Ако не знаш шта Јава променљива је, прођите кроз следећи линк:

Сваки програмер треба да има знање о следећим чињеницама нулл у Јави:

Велика и мала слова

У Јави не можемо писати нулл као НУЛЛ или 0 као у Ц програмирању јер је нулл литерал и кључне речи у Јави разликују велика и мала слова.

Узмимо пример да бисмо разумели понашање нуле које је осетљиво на велика и мала слова.

НуллЕкампле1.јава

 // 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); } } 

Излаз:

Чињенице о нулл у Јави

Референтна вредност променљиве

Подразумевано, свака референтна променљива има нулту вредност у Јави. Референтна променљива се користи за означавање и складиштење објеката/вредности референтног типа у Јави. Класе, низови, енумерације и интерфејси, итд., су неки референтни типови у Јави.

Дакле, референтни тип чува нулту вредност ако ниједан објекат није прослеђен референтном типу.

може ли класа проширити више класа

Узмимо пример да разумемо како референтна променљива функционише за нулл вредност:

НуллЕкампле2.јава

 // 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); } } 

Излаз:

Чињенице о нулл у Јави

Нулл Типе

У Јави, нулл није ни објекат ни тип. То је посебна вредност коју можемо доделити било којој променљивој референтног типа. Можемо бацити нулл у било који тип у којем желимо, као што је стринг, инт, доубле, итд.

Узмимо пример да бисмо разумели како можемо да доделимо нулте вредности било ком референтном типу.

НуллЕкампле3.јава

 // 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); } } 

Излаз:

Чињенице о нулл у Јави

Аутобокинг и Унбокинг

Аутобокинг и Отпакивање су две најважније операције које изводимо у Јави. Преводилац баца НуллПоинтерЕкцептион када доделимо нулту вредност било ком примитивном типу података у кутији док обављамо операције.

Узмимо пример да разумемо аутобоксовање и чињеницу распакивања нуле.

НуллЕкампле4.јава

 // 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); } } 

Излаз:

Чињенице о нулл у Јави

Инстанцеоф Оператор

Да би се проверило да ли је ан објекат је инстанца наведеног типа или не, ми користимо инстанцеоф оператер. Тхе инстанцеоф оператор враћа труе када вредност израза није нулл у време извршавања. Он игра важну улогу у проверама типа.

Узмимо пример да разумемо инстанцеоф оператер:

НуллЕкампле5.јава

 // 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); } } 

Излаз:

Чињенице о нулл у Јави

Статиц Вс. Нестатичке методе

Не можемо позвати нестатичку методу на референтној променљивој са нултом вредношћу. Ако га позовемо, избациће НуллПоинтерЕкцептион, али можемо позвати статички метод са референтним променљивим са нултим вредностима. Пошто су статичке методе повезане помоћу статичког везивања, оне неће избацити изузетак Нулл показивача.

Узмимо пример да разумемо чињеницу нуле:

НуллЕкампле6.јава

ницк онли
 // 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(); } } 

Излаз:

Чињенице о нулл у Јави

== и != Оператори

У Јави, ова два оператора су дозвољена са нулл. Оба оператора су корисна за проверу нулл са објектима у Јави.

Узмимо пример да разумемо како ова два оператора раде са нулом.

НуллЕкампле7.јава

 // 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'); } } } 

Излаз:

Чињенице о нулл у Јави

Сваки Јава програмер треба да има знање о свим горе наведеним чињеницама о нулл.