What is the difference between String s1 = "Hello"; and String s1 = new String("Hello"); in Java?

Asked by Last Modified  

Follow 1
Answer

Please enter your answer

Both these expressions are used to create string objects. But the difference lies in the memory management of the objects created. Let's consider the first case: String s1="Hello"; In the above statement, the string object s1 is created and the value of the string "Hello" is assigned to the string...
read more
Both these expressions are used to create string objects. But the difference lies in the memory management of the objects created. Let's consider the first case: String s1="Hello"; In the above statement, the string object s1 is created and the value of the string "Hello" is assigned to the string object s1. JVM assigns this value to the object and stores it in a separate block of memory called the string constant pool. Now if another String object is created, say String s2="Hello"; Then, JVM checks if any string object with the same value already exists in the string constant pool. If so, then JVM assigns a reference of the existing object to the new variable. Hence we run: String s1="hello"; String s2="hello"; System.out.println(s1==s2) Then the output will be True because s1 and s2 are references to the same object. Now let us consider the second case: String s1 new String("Hello"); We create an object s1 using the new keyword. This will create two objects, one in the string Constant Pool(SCP) and the other one in the Heap Memory and one reference variable, and S1 will refer to the object in heap memory. Now if we create another object String s2= new string("hello"); Then, it'll create a new object s2 with the same value, irrespective of whether it is present in the heap memory or not. read less
Comments

Related Questions

Is it good to go for a Java coaching center and learn Java (with advanced Java) to improve my programming skills?
yes, Please check the Institute reviews and discuss with the tutor, what topics were covered in class. Ask about the practicals session and how many hours/duration of the course.
Gerda
0 0
5
Why we are using this keyword in Java?
to access current object
Kiran
0 0
9

What are major difference between JAVA & Python? Where you would recommend to use JAVA and where need to use Python?

Python is one of the most used programming language than Java. With the recent Popularity of the Machine learning, Artificial intelligence and Data science Python takes the first place of the Top 5 programming...
Amit Kumar
0 0
5
I completed my graduation in 2017, now working as an HR Executive in a Consultancy. I want to move to IT Sector. Which course is best for me to learn and get success in life? Please Suggest me
Dear Kumar, My suggestion is to - become good in one programming language - preferably Java and one O/S preferably Linux. Be aware of Open Source systems. Try to identify the opportunities in your existing...
Kumar
How does Java implement polymorphism?
Java implements polymorphism in two ways: 1. Static or compile-time polymorphism is done by method overloading (more then one methods sharing the same name but different number/types/order of parameters) 2....
Sajjan
0 0
6

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

Session Tracking In Java Servlets
Session Tracking: HTTP is a stateless protocol. Each request is independent of the previous one. However, in some applications, it is necessary to save state information so that information can be collected...

Differences Between HashMap vs HashSet In Java.
HashSet HashMap HashSet implements Set interface. HashMap implements Map interface. HashSet stores the data as objects. HashMap stores the data as key-value pairs. HashSet...

How can everyone prepare to clear any Java interview?
Java interview your java should be much strong then J2EE. core java and Advance java is the basic foundation for Interview. Some of the topic about which you should know before going for a java interview...

Interview Tip : Q1) Why Strings are immutable in java ? What happen if it was mutable in java?
As we all know that Strings in java are immutabe in nature, now the question comes why the creator made it immutable in nature, although this field used maximum in any java program. The answer to this...

Introduction to Course Content
Video about what we are going to learn throughout the Java Training Session .

Recommended Articles

In the domain of Information Technology, there is always a lot to learn and implement. However, some technologies have a relatively higher demand than the rest of the others. So here are some popular IT courses for the present and upcoming future: Cloud Computing Cloud Computing is a computing technique which is used...

Read full article >

Java is the most commonly used popular programming language for the creation of web applications and platform today. Integrated Cloud Applications and Platform Services Oracle says, “Java developers worldwide has over 9 million and runs approximately 3 billion mobile phones”.  Right from its first implication as java 1.0...

Read full article >

Java is the most famous programming language till date. 20 years is a big time for any programming language to survive and gain strength. Java has been proved to be one of the most reliable programming languages for networked computers. source:techcentral.com Java was developed to pertain over the Internet. Over...

Read full article >

Before we start on the importance of learning JavaScript, let’s start with a short introduction on the topic. JavaScript is the most popular programming language in the world, precisely it is the language - for Computers, the Web, Servers, Smart Phone, Laptops, Mobiles, Tablets and more. And if you are a beginner or planning...

Read full article >

Looking for Java Training Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you