Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में StringIndexOutOfBoundsException क्या है?

जावा में वर्णों के अनुक्रम को संग्रहीत करने के लिए स्ट्रिंग्स का उपयोग किया जाता है, उन्हें वस्तुओं के रूप में माना जाता है। java.lang पैकेज का स्ट्रिंग वर्ग एक स्ट्रिंग का प्रतिनिधित्व करता है।

आप या तो नए कीवर्ड (किसी भी अन्य ऑब्जेक्ट की तरह) का उपयोग करके या शाब्दिक (किसी भी अन्य आदिम डेटाटाइप की तरह) को मान निर्दिष्ट करके एक स्ट्रिंग बना सकते हैं।

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

चूंकि स्ट्रिंग वर्णों की एक सरणी संग्रहीत करती है, ठीक उसी तरह जैसे सरणियाँ प्रत्येक वर्ण की स्थिति को एक सूचकांक (0 से शुरू) द्वारा दर्शाया जाता है। उदाहरण के लिए, यदि हमने −

. के रूप में एक String बनाया है
String str = "Hello";

इसमें वर्ण इस प्रकार स्थित हैं -

जावा में StringIndexOutOfBoundsException क्या है?

यदि आप अनुक्रमणिका पर किसी स्ट्रिंग के वर्ण तक पहुँचने का प्रयास करते हैं जो इसकी लंबाई से अधिक है तो StringIndexOutOfBoundsException फेंक दिया जाता है।

उदाहरण

स्ट्रिंग जावा में वर्ग स्ट्रिंग्स में हेरफेर करने के लिए विभिन्न तरीके प्रदान करता है। आप charAt() . का उपयोग करके किसी विशेष अनुक्रमणिका में वर्ण ढूंढ सकते हैं इस वर्ग की विधि।

यह विधि स्ट्रिंग की अनुक्रमणिका को निर्दिष्ट करने वाले पूर्णांक मान को स्वीकार करती है और निर्दिष्ट अनुक्रमणिका पर स्ट्रिंग में वर्ण लौटाती है।

निम्नलिखित जावा प्रोग्राम में, हम लंबाई 17 की एक स्ट्रिंग बना रहे हैं और इंडेक्स 40 पर तत्व को प्रिंट करने का प्रयास कर रहे हैं।

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));
      }
      //Accessing element at greater than the length of the String
      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. जावा में स्ट्रिंग इंटर्न () विधि की क्या भूमिका है?

    एक स्ट्रिंग जावा में एक वर्ग है जो वर्णों के अनुक्रम को संग्रहीत करता है, यह java.lang से संबंधित है पैकेट। एक बार जब आप एक स्ट्रिंग ऑब्जेक्ट बना लेते हैं तो आप उन्हें (अपरिवर्तनीय) संशोधित नहीं कर सकते। संग्रहण सभी स्ट्रिंग ऑब्जेक्ट्स को हीप क्षेत्र में एक अलग मेमोरी लोकेशन में संग्रहीत किया जाता

  1. Java में StringWriter का क्या महत्व है?

    स्ट्रिंगराइटर वर्ग लेखक . का उपवर्ग है क्लास और यह स्ट्रिंग को आउटपुट स्ट्रीम में लिखता है। एक स्ट्रिंग लिखने के लिए, यह वर्ण स्ट्रीम स्ट्रिंग को स्ट्रिंग बफ़र . में एकत्रित करती है और फिर एक स्ट्रिंग का निर्माण किया। StringWriter का बफ़र डेटा के अनुसार स्वचालित रूप से बढ़ता है। StringWriter वर्ग

  1. जावा में StringIndexOutOfBoundsException (अनचेक) को कैसे संभालें?

    StringIndexOutOfBoundsException अनियंत्रित . में से एक है अपवाद जावा में। एक स्ट्रिंग वर्णों का एक समूह है। स्ट्रिंग ऑब्जेक्ट इसकी श्रेणी . है [0, स्ट्रिंग की लंबाई] . जब कोई वास्तविक स्ट्रिंग मान की सीमा से अधिक सीमा वाले वर्णों तक पहुँचने का प्रयास करता है, तो यह अपवाद होता है। उदाहरण1 publi