खोज…


परिचय

इस विषय में आपको जावा एसई 7 में जावा प्रोग्रामिंग लैंग्वेज में जोड़े गए नए फीचर्स का सारांश मिलेगा। अन्य क्षेत्रों में कई अन्य नए फीचर्स जैसे कि जेडडीबीसी और जावा वर्चुअल मशीन (जेवीएम) शामिल नहीं होने जा रहे हैं। इस विषय में।

टिप्पणियों

जावा एसई 7 में वृद्धि

नई जावा एसई 7 प्रोग्रामिंग भाषा सुविधाएँ

बाइनरी साहित्य

// An 8-bit 'byte' value:
byte aByte = (byte)0b00100001;

// A 16-bit 'short' value:
short aShort = (short)0b1010000101000101;

// Some 32-bit 'int' values:
int anInt1 = 0b10100001010001011010000101000101;
int anInt2 = 0b101;
int anInt3 = 0B101; // The B can be upper or lower case.

// A 64-bit 'long' value. Note the "L" suffix:
long aLong = 0b1010000101000101101000010100010110100001010001011010000101000101L;

संसाधनों के साथ प्रयास करें

उदाहरण किसी फ़ाइल से पहली पंक्ति पढ़ता है। यह फ़ाइल से डेटा पढ़ने के लिए BufferedReader एक उदाहरण का उपयोग करता है। BufferedReader एक संसाधन है जिसे कार्यक्रम के साथ समाप्त होने के बाद बंद किया जाना चाहिए:

static String readFirstLineFromFile(String path) throws IOException {
  try (BufferedReader br = new BufferedReader(new FileReader(path))) {
    return br.readLine();
  }
}

इस उदाहरण में, कोशिश-के साथ संसाधनों के बयान में घोषित संसाधन BufferedReader । ट्राई कीवर्ड के तुरंत बाद घोषणा विवरण कोष्ठक के भीतर दिखाई देता है। जावा एसई 7 में और बाद में, क्लास BufferedReader , इंटरफ़ेस java.lang.AutoCloseable लागू करता है। क्योंकि BufferedReader उदाहरण एक कोशिश के साथ-संसाधन बयान में घोषित किया जाता है, यह कोशिश बयान सामान्य रूप से या अचानक पूरा करता है या नहीं (विधि का एक परिणाम के रूप में की परवाह किए बिना बंद कर दिया जाएगा BufferedReader.readLine एक फेंकने IOException ।)

न्यूमेरिक लिटरेचर में अंडरस्कोर

निम्नलिखित उदाहरण अन्य तरीकों से पता चलता है कि आप संख्यात्मक अंको में अंडरस्कोर का उपयोग कर सकते हैं:

long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;

आप केवल अंकों के बीच अंडरस्कोर लगा सकते हैं; आप निम्न स्थानों पर अंडरस्कोर नहीं लगा सकते:

  • किसी संख्या के आरंभ या अंत में
  • फ़्लोटिंग पॉइंट शाब्दिक में दशमलव बिंदु के निकट
  • एक एफ या एल प्रत्यय से पहले
  • उन स्थितियों में जहां अंकों की एक स्ट्रिंग की उम्मीद की जाती है

जेनेरिक इंस्टेंस क्रिएशन के लिए टाइप इन्वेंशन

आप उपयोग कर सकते हैं

Map<String, List<String>> myMap = new HashMap<>();

के बजाय

Map<String, List<String>> myMap = new HashMap<String, List<String>>();

हालाँकि, आप उपयोग नहीं कर सकते

List<String> list = new ArrayList<>();
list.add("A");

  // The following statement should fail since addAll expects
  // Collection<? extends String>

list.addAll(new ArrayList<>());

क्योंकि यह संकलन नहीं कर सकता। ध्यान दें कि हीरा अक्सर विधि कॉल में काम करता है; हालाँकि, यह सुझाव दिया जाता है कि आप मुख्य रूप से चर घोषणाओं के लिए हीरे का उपयोग करें।

स्विच स्टेटमेंट में स्ट्रिंग्स

public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) {
     String typeOfDay;
     switch (dayOfWeekArg) {
         case "Monday":
             typeOfDay = "Start of work week";
             break;
         case "Tuesday":
         case "Wednesday":
         case "Thursday":
             typeOfDay = "Midweek";
             break;
         case "Friday":
             typeOfDay = "End of work week";
             break;
         case "Saturday":
         case "Sunday":
             typeOfDay = "Weekend";
             break;
         default:
             throw new IllegalArgumentException("Invalid day of the week: " + dayOfWeekArg);
     }
     return typeOfDay;
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow