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

जावा 9 में @SafeVarargs की आवश्यकता क्यों है?


varargs जावा में कार्यक्षमता को सरणी-प्रकार का सहारा लिए बिना तर्कों की एक चर संख्या के साथ विधियों के निर्माण की सुविधा के लिए पेश किया गया है। पैरामीटर या एक ही विधि के अतिभारित संस्करण।

Java 9 संस्करणों से पहले, यदि vararg विधियां जेनेरिक . के साथ उपयोग किया जाता है , तो एक चेतावनी संदेश . है . भले ही सभी तरीके ढेर प्रदूषण . नहीं बनाते हैं , कंपाइलर चेतावनी shows दिखाता है जेनरिक के साथ उपयोग की जाने वाली सभी vararg विधियों के लिए। यही कारण है @SafeVarargs इन चेतावनियों से बचने के लिए जावा 9 संस्करण में अवधारणा को जोड़ा गया था। अगर हम इस एनोटेशन को जोड़ते हैं, तो कंपाइलर इन चेतावनियों को रोक देता है।

हम नीचे दिए गए कमांड का उपयोग करके कोड को संकलित कर सकते हैं

javac -Xlint:unchecked SafeVarargsTest1.java 

नीचे दिए गए उदाहरण में, कंपाइलर उपयोगकर्ता को एक चेतावनी संदेश दिखाता है।

उदाहरण

आयात करें परीक्षण.varargsMethod (Arrays.asList ("आदित्य", "जयदेव"), Arrays.asList ("राजा", "चैतन्य")); } निजी शून्य varargsMethod(सूची<स्ट्रिंग> ... सूची) { के लिए (सूची सूची 1:सूची) System.out.println (सूची 1); }}

आउटपुट

SafeVarargsTest.java:7:चेतावनी:[अनचेक] प्रकार के varargs पैरामीटर के लिए अनियंत्रित जेनेरिक सरणी निर्माण List[]test.varargsMethod(Arrays.asList("Adithya", "Jaidev"), Arrays.asList( "राजा", "चैतन्य")); ^ SafeVarargsTest.java:9:चेतावनी:[अनियंत्रित] पैरामीटरयुक्त vararg प्रकार से संभावित ढेर प्रदूषण Listprivate void varargsMethod(List... list) {^2 चेतावनियां [आदित्य, जयदेव][राजा, चैतन्य] 


मैं नीचे दिए गए उदाहरण में, हमने @SafeVarargs . लागू किया है निजी तरीके . से पहले . इसलिए, यह कोई चेतावनी संदेश नहीं दिखाता है।

उदाहरण

आयात करें परीक्षण.varargsMethod (Arrays.asList ("आदित्य", "जयदेव"), Arrays.asList ("राजा", "चैतन्य")); } @SafeVarargs निजी शून्य varargsMethod(सूची<स्ट्रिंग> ... सूची) { के लिए (सूची सूची 1:सूची) System.out.println (सूची 1); }}

आउटपुट

[आदित्य, जयदेव][राजा, चैतन्य] 

  1. हमें जावा में रैपर क्लास की आवश्यकता क्यों है?

    एक आवरण वर्ग एक वर्ग है जिसमें आदिम डेटा प्रकार हैं (इंट, चार, शॉर्ट, बाइट, आदि) . दूसरे शब्दों में, रैपर वर्ग आदिम डेटा प्रकार . का उपयोग करने का एक तरीका प्रदान करते हैं (int, char, short, byte, etc) ऑब्जेक्ट के रूप में . ये रैपर वर्ग java.util पैकेज . के अंतर्गत आते हैं । हमें रैपर क्लास की आवश

  1. सूची के माध्यम से जावा लूप

    इस ट्यूटोरियल में, हम जावा में ArrayList के माध्यम से पुनरावृति करने के पांच अलग-अलग तरीकों को देखते हैं। Java 8 के रूप में, हम एक ArrayList पर लूप करने के लिए forEach विधि के साथ-साथ पुनरावृत्त वर्ग का उपयोग कर सकते हैं। किसी ArrayList पर लूपिंग ArrayList पर लूप करने के मुख्य रूप से 5 अलग-अलग तरीक

  1. जावा में सूची को ऐरे में बदलें

    जावा में लिस्ट और ऐरे के बीच कनवर्ट करना एक बहुत ही सामान्य ऑपरेशन है। जावा में किसी सूची को ऐरे में बदलने का सबसे अच्छा और आसान तरीका .toArray() का उपयोग करना है। विधि। इसी तरह, हम Arrays.asList() . का उपयोग करके किसी सूची को वापस ऐरे में बदल सकते हैं विधि। नीचे दिए गए उदाहरण दिखाते हैं कि कैसे