Monday 3 April 2017

Working of String – Java Course

Java is platform independent. Java Course helps to develop career in Java Industry. Get Training and learn to develop projects in Java.  
Following is the one part of Java Course. – Working of String
According to Oracle String in Java are sequence of characters and are represented by a class java.lang.String.
So in simple words String in Java are objects.

Declaration for String class looks like this

public final class String extends Object
String in Java are of nature Immutable as they are declared as final.
String can be declared in multiple ways in java

For example
String str="Java";
In this case str is a String literal as it is declared directly using = sign.
While execution JVM creates a String object and store it in Object Heap.

Other way of Declaration

String s=new String("Hello");
or
char[] charArray=new char[]{'s','u','c','c','e','s','s'};
String s1=new String(charArray);

An important concept which many people don't take notice of is the following situation.

String str="java";
str=str.concat("withz.in");
System.out.println(str);


String is of nature final and final objects can change their reference.
So what happens when we print this and how many String objects are created in this process.




On the very first line.
String str="java";
JVM created a new object with value "java".

When we concat other String "withz.in" in the original String str.
But as String is of nature final it cannot make changes in the same object reference, hence it first creates a new object "withz.in" and then concat the other two Strings and create a new String "javawithz.in" and we have used assignment operator

str=str.concat("withz.in");

Now str points at the third object created and first two objects lies unidentified in Heap and when we print we print it we get output as "javawithz.in"
Now let us take another example for understanding the same concept

String str="java";
str.toUpperCase();
System.out.println(str);

Now in this case when the first line got executed JVM created a new String object "java" and str was pointing at the same object.
Then we did

str.toUpperCase();

This created a new Object with value "JAVA" but as we haven't used any assignment operator str is still pointing at old reference and not the new.

So when we print it we will get "java".

Java Course in Mumbai is one of the best option for developing career in Java. 100% Industrial knowledge, Experienced Faculty, Interview Preparations are main key features of Asterix Solution. For more details, visit www.asterixsolution.com/java-training.html /
Call : +91 982 168 1514 / +91 771 503 6251