কম্পিউটার টিউটোরিয়াল

জাভাতে StringIndexOutOfBoundsException কী?

স্ট্রিং জাভাতে ক্যারেক্টার সিকোয়েন্স সংরক্ষণ করতে ব্যবহৃত হয়, এগুলো অবজেক্ট হিসেবে বিবেচিত হয়। java.lang প্যাকেজের String ক্লাস একটি স্ট্রিং উপস্থাপন করে।

আপনি একটি স্ট্রিং তৈরি করতে পারেন হয় new কীওয়ার্ড ব্যবহার করে (অন্য অবজেক্টের মতো) অথবা, লিটেরেলে মান অ্যাসাইন করে (প্রিমিটিভ ডেটা টাইপের মতো)।

String stringObject = new String("Hello how are you"); 
String stringLiteral = "Welcome to Tutorialspoint";

যেহেতু স্ট্রিং ক্যারেক্টারের একটি অ্যারে সংরক্ষণ করে, অ্যারের মতোই প্রতিটি ক্যারেক্টারের পজিশন একটি ইনডেক্স দিয়ে উপস্থাপিত হয় (০ থেকে শুরু)। উদাহরণস্বরূপ, যদি আমরা একটি স্ট্রিং তৈরি করি −

String str = "Hello";

এতে ক্যারেক্টারগুলো পজিশন করা হয়েছে −

জাভাতে StringIndexOutOfBoundsException কী?

যদি আপনি একটি স্ট্রিং-এর ক্যারেক্টার অ্যাক্সেস করতে চান এমন একটি ইনডেক্সে যা এর দৈর্ঘ্যের চেয়ে বড়, তবে StringIndexOutOfBoundsException থ্রো হয়।

উদাহরণ

জাভাতে String ক্লাস স্ট্রিং ম্যানিপুলেশনের জন্য বিভিন্ন মেথড প্রদান করে। আপনি charAt() মেথড ব্যবহার করে একটি নির্দিষ্ট ইনডেক্সের ক্যারেক্টার খুঁজে পেতে পারেন।

এই মেথড একটি ইন্টিজার মান গ্রহণ করে যা স্ট্রিং-এর ইনডেক্স নির্দেশ করে এবং নির্দিষ্ট ইনডেক্সের ক্যারেক্টার রিটার্ন করে।

নিচের জাভা প্রোগ্রামে, আমরা ১৭ দৈর্ঘ্যের একটি স্ট্রিং তৈরি করছি এবং ইনডেক্স ৪০-এлемен্ট প্রিন্ট করার চেষ্টা করছি।

public class Test { 
    public static void main(String[] args) { 
        String str = "Hello how are you"; 
        System.out.println("Length of the String: " + str.length()); 
        
        for (int i = 0; i < str.length(); i++) { 
            System.out.println(str.charAt(i)); 
        } 
        
        // স্ট্রিং-এর দৈর্ঘ্যের চেয়ে বড় ইনডেক্সে এলিমেন্ট অ্যাক্সেস 
        System.out.println(str.charAt(40)); 
    } 
}

আউটপুট

রান টাইম এক্সসেপশন −

যেহেতু আমরা এর দৈর্ঘ্যের চেয়ে বড় ইনডেক্সে এলিমেন্ট অ্যাক্সেস করছি, StringIndexOutOfBoundsException থ্রো হয়।

Length of the String: 17 
H 
e 
l 
l 
o 
h 
o 
w 
a 
r 
e 
y 
o 
u 
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 40 
    at java.base/java.lang.StringLatin1.charAt(Unknown Source) 
    at java.base/java.lang.String.charAt(Unknown Source) 
    at Test.main(Test.java:9)
  1. জাভাতে String intern() মেথডের ভূমিকা

  2. জাভাতে টাইপ-সেফ Enum কী?

  3. জাভাতে StringWriter ক্লাসের গুরুত্ব

  4. জাভাতে StringIndexOutOfBoundsException (অনচেকড) কীভাবে হ্যান্ডেল করবেন?