Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

String Question

 
Vijay jai Singh
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

What is difference in these two statements:

String str = null;

and

String str = "";
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15495
43
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In the first one, you set the variable str to null (which means that it does not point to any object), and in the second one you set it to point to a String object which has no content.

Two very different things.
 
Prashant Hurria
Ranch Hand
Posts: 40
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Seems you are a beginner in Java.No problems we all start somewhere.
I hope you are aware that there are two types of variables in Java


1.Primitive Variables
2.Reference Variables

For eg.
in the code line
int a ;
'a' is a primitive variable as it can refer to the primitive of the type int.

Similarly in the code line
String str;
str can contain a reference to a String object .
For your information in Java String is a class in the package java.lang.

So if you do a
String str= null what it does is
Makes a reference variable(the bit holder
for a reference value) named str of the type java.lang.String

and making it equal to null simply means the
variable is not referring to any object.

Whereas


String str=""
Simply creates an object of the type java.lang.String with no value in it and assigns the refernce variable str to this object.
 
Rohit Aggarawal
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
str = null;
The variable does not point to any memory location.
str =""
The vairable points to some memory location having blank value
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic