Question 9: "What is a NullPointerException, and how do I fix it?"

Java - Top 10 Most Viewed Questions on Stack Overflow Question 9: "What is a NullPointerException, and how do I fix it?"
9 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€65.14
List Price:  €93.07
You save:  €27.92
£55.73
List Price:  £79.62
You save:  £23.88
CA$95.61
List Price:  CA$136.60
You save:  CA$40.98
A$106.30
List Price:  A$151.87
You save:  A$45.56
S$94.64
List Price:  S$135.20
You save:  S$40.56
HK$546.91
List Price:  HK$781.33
You save:  HK$234.42
CHF 63.50
List Price:  CHF 90.72
You save:  CHF 27.21
NOK kr764.69
List Price:  NOK kr1,092.46
You save:  NOK kr327.77
DKK kr485.92
List Price:  DKK kr694.20
You save:  DKK kr208.28
NZ$117
List Price:  NZ$167.15
You save:  NZ$50.15
د.إ257.06
List Price:  د.إ367.25
You save:  د.إ110.18
৳7,661.98
List Price:  ৳10,946.16
You save:  ৳3,284.17
₹5,839.65
List Price:  ₹8,342.71
You save:  ₹2,503.06
RM331.75
List Price:  RM473.95
You save:  RM142.20
₦86,437.65
List Price:  ₦123,487.65
You save:  ₦37,050
₨19,492.21
List Price:  ₨27,847.21
You save:  ₨8,355
฿2,575.56
List Price:  ฿3,679.53
You save:  ฿1,103.97
₺2,262.43
List Price:  ₺3,232.18
You save:  ₺969.75
B$357.76
List Price:  B$511.10
You save:  B$153.34
R1,296.01
List Price:  R1,851.52
You save:  R555.51
Лв127.38
List Price:  Лв181.98
You save:  Лв54.60
₩95,113.23
List Price:  ₩135,881.87
You save:  ₩40,768.63
₪260.11
List Price:  ₪371.60
You save:  ₪111.49
₱3,999.61
List Price:  ₱5,713.97
You save:  ₱1,714.36
¥10,715.43
List Price:  ¥15,308.41
You save:  ¥4,592.98
MX$1,185.45
List Price:  MX$1,693.57
You save:  MX$508.12
QR254.79
List Price:  QR364.01
You save:  QR109.21
P955.69
List Price:  P1,365.33
You save:  P409.64
KSh9,427.65
List Price:  KSh13,468.65
You save:  KSh4,041
E£3,355.67
List Price:  E£4,794.02
You save:  E£1,438.35
ብር3,989.43
List Price:  ብር5,699.43
You save:  ብር1,710
Kz58,616.62
List Price:  Kz83,741.62
You save:  Kz25,125
CLP$66,326.02
List Price:  CLP$94,755.52
You save:  CLP$28,429.50
CN¥506.51
List Price:  CN¥723.62
You save:  CN¥217.11
RD$4,049.59
List Price:  RD$5,785.38
You save:  RD$1,735.78
DA9,420.19
List Price:  DA13,457.99
You save:  DA4,037.80
FJ$157.70
List Price:  FJ$225.30
You save:  FJ$67.59
Q542.62
List Price:  Q775.21
You save:  Q232.58
GY$14,613.08
List Price:  GY$20,876.73
You save:  GY$6,263.64
ISK kr9,792.30
List Price:  ISK kr13,989.60
You save:  ISK kr4,197.30
DH706.05
List Price:  DH1,008.69
You save:  DH302.63
L1,239.86
List Price:  L1,771.31
You save:  L531.44
ден4,010.92
List Price:  ден5,730.13
You save:  ден1,719.21
MOP$562.15
List Price:  MOP$803.11
You save:  MOP$240.95
N$1,302.54
List Price:  N$1,860.85
You save:  N$558.31
C$2,571.43
List Price:  C$3,673.63
You save:  C$1,102.20
रु9,317.58
List Price:  रु13,311.40
You save:  रु3,993.82
S/262.81
List Price:  S/375.46
You save:  S/112.65
K268.53
List Price:  K383.63
You save:  K115.10
SAR262.51
List Price:  SAR375.03
You save:  SAR112.52
ZK1,879.71
List Price:  ZK2,685.42
You save:  ZK805.70
L324.19
List Price:  L463.14
You save:  L138.95
Kč1,629.65
List Price:  Kč2,328.17
You save:  Kč698.52
Ft25,373.17
List Price:  Ft36,248.95
You save:  Ft10,875.77
SEK kr758.75
List Price:  SEK kr1,083.98
You save:  SEK kr325.22
ARS$61,468.94
List Price:  ARS$87,816.53
You save:  ARS$26,347.59
Bs482.36
List Price:  Bs689.12
You save:  Bs206.75
COP$272,946.91
List Price:  COP$389,940.87
You save:  COP$116,993.96
₡35,623.88
List Price:  ₡50,893.45
You save:  ₡15,269.56
L1,732.95
List Price:  L2,475.75
You save:  L742.80
₲523,151.84
List Price:  ₲747,391.81
You save:  ₲224,239.96
$U2,683.09
List Price:  $U3,833.15
You save:  $U1,150.06
zł281.85
List Price:  zł402.67
You save:  zł120.81
Already have an account? Log In

Transcript

The ninth question with over 2.5 point 5 million views is what is an eye upon exception and how do I fix it? The question would be better if it was what is the nine point exception and how do I avoided because you have to avoid Nikon exceptions. And when an eye pointer exception are cured, there's usually nothing to fix anymore. So yeah, avoid no pointer exceptions. What is an eye pointer exception an eye pointer exception okay cures if you are trying to call or to invoke a method on the NIH reference. And what NIH references we take a look now and we take a look how references in general works.

So, let us take a look at the example here. If We call object Oh, one equals new object. So this one, this segment creates an object on the heap. If you create an object in Java always creates them on the heap. It's a part of your walking storage. And in the heap, the objects are stored and created.

And yeah, new object creates an object on the heap. And you say the object Oh, one c reference, and this reference points on the object, one on the heap. If you then call a statement object or two equals new object, then it's create it creates some second object on the heap, and in a second reference called or two, and the object or to the reference object or two points on the object to on the heap. Then you can say you can just create references by saying object with all three equals or one. What does this do, you create a new reference or three and it is pointing to the same object on the heap as reference or one. So object one and object or three are pointing on the same object, as you can see here on on the image.

In this example, every three references are pointing to the same object on the heap. And object two, doesn't have any references anymore. And so in this case, the garbage collector is able to clean object to up to clean it up because There isn't a reference anymore on the object. And yeah, this is saying that this object isn't used anymore by the by the applique by the application and then the garbage collector can clean it up, if he wants it wants. So, the next example, there is object oh four equals nine. Yeah, you can create a reference that isn't pointing to an object on the heap, but it is pointing on Naya on nothing or not.

And if you do, so, you have so called now reference. And if you do call on all four, if you try to invoke the to string method of object for example, you can say a one dot to string, then the object one is, yeah, it's printed out in string form. And if you do all four.to string, then you get an eye pointer exception, because oh four as an eye reference. Here is an example of how to do this, how to provoke an iPhone exception. The example above is like on this on this slide. So we have all four equals nine, and a one, or two or three are all pointing to the same object.

So we are calling the two string method. And we see that all three references are pointing to the same object. That's what the hash does the same hash code of the object. So if you try on your own at home, the hash code is so different one each object has known on hash code. So, but you see that all three references are pointing to the same object. And so now we are trying to invoke the to string method on the for reference, and because of for is pointing to NIH.

It is the NIH point you get a nine point exception now that how to provoke or how nine point exceptions are created. And the question now is how to avoid an i pointer exception. And yeah, there isn't one single answer to this question because as I wrote here, nine pointer exceptions may or cure everywhere where references are used, because, yeah, references made An eye references and if you call or invoke a method on an eye reference, you get an eye point exception. And so, everywhere where you are working with references and this is quite everywhere in your code, there may accuse an eye point exceptions. So, there isn't one single answer to how to avoid nine point exceptions. But, and most commonly are usually a use case for references and where nine point exceptions or cure or may or cure is when you are using or via writing methods.

So, like in this example, we are we have a method convert to a string that gets string s and it returns a string and we try it to invoke the method to uppercase on string s, and what to do to uppercase us is that every single character of the string is converted to an upper case character. And this is then converted by the method. And yeah, the danger of this method is that you get a null pointer exception because string s says only it is a reference to a string object, but it may be an AI reference. And if you don't check if S is an eye reference, and you always would call s.to uppercase, you may have an NIH pointer exception now because this may be an IR reference, and to avoid it in this example, you could or your show Ask if S equals equals nine.

So, if S is an eye pointer, an eye reference, if yes, you can do anything for, for example, you may or may throw the new illegal argument exception on and say, argument may not be nigh. Or you could, you could return a default string or something like this or you can return neither for example, if S NY, then you return it and not the uppercase version of s and so on. So, yeah, but what you want to do is up to you, but this is how you could avoid nine point exception. And as I set this kind of use case, where a method power meters is your most usually and commonly, where no pointer exceptions or cure Yeah, this is it

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.