জাভা প্রোগ্রামিং ভাষায় আমি চাইলে দুইভাবে একটি স্ট্রিং ডিক্লেয়ার করতে পারি,

String S1 = new String("Hello World!");
String S2 = "Hello world!";

এই দুটোর মধ্যে পার্থক্য কি? কোনটা কখন ব্যবহার করা উচিত?

asked 14 Jan '15, 18:44

Nirob%20Ahmed's gravatar image

Nirob Ahmed
997

edited 15 Jan '15, 13:02

tahmidrafi's gravatar image

tahmidrafi ♦♦
1.1k214


String S = new String(“nirob”);

এই statement টি explicitly একটি নতুন String অবজেক্ট তৈরি করে।

String S = “nirob”;

এই statement টি নতুন অবজেক্ট তৈরি নাও করতে পারে। string pool থেকে available কোন instance রিইউজ করে। যেমন,

String str1 = "hello world"; String str2 = "hello world" এখানে str1 এবং str2 দুটিই একই String অবজেক্টকে নির্দেশ করে। কিন্তু যদি এটা প্রথম statement এর মত করে লেখা যেত তাহলে str1 এবং str2 দুইটি ভিন্ন ভিন্ন অবজেক্টকে নির্দেশ করত। একটি প্রোগ্রাম লিখে আমরা এটি পরীক্ষা করে দেখতে পারি,

public static void main(String[] args){
    String str1 = "Hello world";
    String str2 = "Hello world";
    System.out.println(str1 == str2);
}

এর আউটপুট হবে true

কিন্তু আবার,

public static void main(String[] args){
        String str1 = new String("Hello world");
        String str2 = new String("Hello world");
        System.out.println(str1 == str2);
    }

এর আউটপুট হবে false

permanent link

answered 15 Jan '15, 07:24

__salman__'s gravatar image

__salman__ ♦♦
1.1k211

edited 16 May '16, 01:24

manetsus's gravatar image

manetsus
2.2k211

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×210
×68
×56
×17

question asked: 14 Jan '15, 18:44

question was seen: 1,698 times

last updated: 16 May '16, 01:24