Java में String को int में बदलना: 4 तरीके और एक गुप्त लाइफहैक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: यह प्रश्न अनुभवी Java डेवलपर्स को भी क्यों परेशान करता है?

\n

यदि आपने कभी "How do I convert a String to an int in Java?" गूगल किया है, तो आप अकेले नहीं हैं। Stack Overflow पर लाखों व्यूज के साथ यह सबसे लोकप्रिय प्रश्नों में से एक है। लगता है, इसमें मुश्किल क्या है? स्ट्रिंग ली, संख्या में बदला — और हो गया। लेकिन व्यवहार में Java में String को int में बदलना कई खतरों को छिपाता है: अप्रत्याशित अपवादों से लेकर प्रदर्शन और कोड पठनीयता के बीच चयन तक।

\n

इस लेख में, हम Java में स्ट्रिंग को संख्या में बदलने के सभी लोकप्रिय तरीकों का विश्लेषण करेंगे, उनकी गति, सुरक्षा और सुविधा के आधार पर तुलना करेंगे। आप सीखेंगे कि क्लासिक NumberFormatException त्रुटि से कैसे बचें, और वास्तविक प्रोजेक्ट्स के लिए तैयार समाधान प्राप्त करेंगे। चलिए शुरू करते हैं!

\n\n

विधि संख्या 1: क्लासिक तरीका — Integer.parseInt()

\n

Java में String को int में बदलने का सबसे सामान्य और तेज़ तरीका स्टैटिक मेथड Integer.parseInt() का उपयोग करना है। यह एक स्ट्रिंग लेता है और प्रिमिटिव टाइप int लौटाता है।

\n\n
public class ParseIntExample {\n    public static void main(String[] args) {\n        String number = "42";\n        int result = Integer.parseInt(number);\n        System.out.println(result); // आउटपुट: 42\n    }\n}\n
\n\n

Integer.parseInt() के लाभ:

\n
    \n
  • अधिकतम प्रदर्शन — कोई अतिरिक्त ऑब्जेक्ट नहीं बनाता।
  • \n
  • सरलता — बिना किसी अतिरिक्त रैपर के कोड की एक पंक्ति।
  • \n
  • संख्या प्रणाली समर्थन — आप radix (आधार) निर्दिष्ट कर सकते हैं: Integer.parseInt("ff", 16) 255 लौटाएगा।
  • \n
\n\n

नुकसान और खतरे:

\n
    \n
  • यदि स्ट्रिंग में गैर-संख्यात्मक वर्ण (स्पेस, अक्षर) हैं, तो NumberFormatException फेंका जाता है।
  • \n
  • null को संभालता नहीं है — NullPointerException होगा।
  • \n
\n\n
// त्रुटि का उदाहरण:\nString badInput = "42abc";\nint value = Integer.parseInt(badInput); // NumberFormatException!\n
\n\n

विधि संख्या 2: सुरक्षित Integer.valueOf()

\n

Java में स्ट्रिंग को संख्या में बदलने का दूसरा लोकप्रिय तरीका Integer.valueOf() है। यह बाहरी रूप से parseInt() जैसा दिखता है, लेकिन प्रिमिटिव के बजाय Integer ऑब्जेक्ट लौटाता है।

\n\n
public class ValueOfExample {\n    public static void main(String[] args) {\n        String number = "123";\n        Integer result = Integer.valueOf(number);\n        System.out.println(result); // आउटपुट: 123\n    }\n}\n
\n\n

valueOf() का उपयोग कब करें?

\n
    \n
  • यदि आपको कलेक्शन के लिए Integer ऑब्जेक्ट चाहिए (जैसे, List<Integer>).
  • \n
  • यदि आप Optional या Stream API के साथ काम कर रहे हैं (नीचे देखें).
  • \n
  • कैशिंग के कारण (-128 से 127 तक की संख्याओं के लिए) valueOf() ऑटोबॉक्सिंग के साथ parseInt() से भी तेज़ हो सकता है।
  • \n
\n\n

महत्वपूर्ण बारीकी:

\n

यदि आपको प्रिमिटिव int चाहिए, तो parseInt() का उपयोग करना बेहतर है — यह लगभग 10-15% तेज़ है, क्योंकि यह रैपर ऑब्जेक्ट नहीं बनाता। लेकिन 99% एप्लिकेशन में यह अंतर ध्यान देने योग्य नहीं है।

\n\n

विधि संख्या 3: Java 8+ और Optional — त्रुटियों का सुरुचिपूर्ण प्रबंधन

\n

Java में String को int में बदलने का आधुनिक दृष्टिकोण Optional का उपयोग करना है। यह try-catch ब्लॉक से बचने और कोड को साफ़ बनाने में मदद करता है।

\n\n
import java.util.Optional;\n\npublic class OptionalParseExample {\n    public static Optional<Integer> safeParseInt(String str) {\n        try {\n            return Optional.of(Integer.parseInt(str));\n        } catch (NumberFormatException e) {\n            return Optional.empty();\n        }\n    }\n\n    public static void main(String[] args) {\n        // सफल पार्सिंग\n        safeParseInt("100").ifPresent(System.out::println); // 100\n                

ब्लॉग

पुस्तक अनुशंसाएँ