CodesJava

Easy learning with example program codes

how many ways we can create the string object?


How to create string object?

  1. By String literal.
  2. By new keyword.

1. By String literal:

String literal: A sequence of characters enclosed in double quotes. String literal is a concept of java language. It is not an object from java.lang.String.  e.g. – “Hello java”.  In the string literal case one object and one reference variable is created.  Object is placed in string constant pool.
String literal/constant pool: is a special part of heap memory used to store string literals or string constants.
Every time a literal is created, JVM checks the string constant pool for it. If string literal is already in the pool then no new object will be created in the pool, a reference of the already existing object will returns. If string literal is not exist in the string constant pool then new instance will be created and placed in the string constant pool.
E.g. – String str1 = “javawithease”
String str2 = “javawithease”

String 1
 
In the above example in case of str1 JVM checks for “javawithease” in string constant pool. First time it will be not in the pool hence JVM create new instance and placed it into the pool. In case of str2 JVM will find the “javawithease” in the pool. Hence no new instance will be created and reference of the already existing instance will be return.

Java uses the concept of java literal to increase memory efficiency. Because, no new instance will be created for a string literal if it is already exist in string constant pool.

2. By new keyword:

String objects can be created with new keyword also. In this case two objects and one reference variable is created. One object is created in heap area (non-pool) and other (string literal) is placed in string constant pool. The variable will refer to the object in heap area.
e.g.- String str = new String(“javawithease”).

String2
 

Java interview questions on string handling

Sign Up/ Sign In
Ask a Question


Industrial Training

We offers Placement Oriented Training on Java, Spring, JSF, Hibernate, PHP, AngularJS, Angular 4, PLSQL, Oracle BI Publisher etc. We also provides Online training, please mail us at hr@codesjava.com.

Development

We also provides the Development services for Website Development , Java Development, PHP Development, Android App Development etc. You can contact us on hr@codesjava.com.

Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki