The varargs ৷ অ্যারে-টাইপকে অবলম্বন না করেই পরিবর্তনশীল সংখ্যক আর্গুমেন্ট সহ পদ্ধতি তৈরির সুবিধার্থে জাভাতে কার্যকারিতা চালু করা হয়েছে একই পদ্ধতির প্যারামিটার বা ওভারলোডেড সংস্করণ।
জাভা 9 সংস্করণের আগে, যদি vararg পদ্ধতি জেনারিক এর সাথে ব্যবহার করা হয় , তারপর একটি সতর্কতা বার্তা আছে৷ . যদিও সমস্ত পদ্ধতি গাদা দূষণ তৈরি করে না , কম্পাইলার সতর্কতা দেখায় জেনেরিকের সাথে ব্যবহৃত সমস্ত ভারার্গ পদ্ধতির জন্য। এই কারণেই @SafeVarargs এই সতর্কতাগুলি এড়াতে জাভা 9 সংস্করণে ধারণাটি যুক্ত করা হয়েছিল। যদি আমরা এই টীকা যোগ করি, তাহলে কম্পাইলার এই সতর্কতাগুলো বন্ধ করে দেয়।
আমরা নিচের কমান্ডটি ব্যবহার করে কোড কম্পাইল করতে পারি
javac -Xlint:unchecked SafeVarargsTest1.java
নীচের উদাহরণে, কম্পাইলার ব্যবহারকারীকে একটি সতর্কবার্তা দেখায়৷
৷উদাহরণ
import java.util.Arrays; import java.util.List; public class SafeVarargsTest1 { public static void main(String args[]) { SafeVarargsTest1 test = new SafeVarargsTest1(); test.varargsMethod(Arrays.asList("Adithya", "Jaidev"), Arrays.asList("Raja", "Chaitanya")); } private void varargsMethod(List<String>... list) { for(List list1: list) System.out.println(list1); } }
আউটপুট
SafeVarargsTest.java:7: warning: [unchecked] unchecked generic array creation for varargs parameter of type List[] test.varargsMethod(Arrays.asList("Adithya", "Jaidev"), Arrays.asList("Raja", "Chaitanya")); ^ SafeVarargsTest.java:9: warning: [unchecked] Possible heap pollution from parameterized vararg type List private void varargsMethod(List... list) { ^ 2 warnings [Adithya, Jaidev] [Raja, Chaitanya]
আমি নিচের উদাহরণে, আমরা @SafeVarargs প্রয়োগ করেছি ব্যক্তিগত পদ্ধতি এর আগে . সুতরাং, এটি কোন সতর্ক বার্তা দেখায় না৷
৷উদাহরণ
import java.util.Arrays; import java.util.List; public class SafeVarargsTest2 { public static void main(String args[]) { SafeVarargsTest2 test = new SafeVarargsTest2(); test.varargsMethod(Arrays.asList("Adithya", "Jaidev"), Arrays.asList("Raja", "Chaitanya")); } @SafeVarargs private void varargsMethod(List<String>... list) { for(List list1: list) System.out.println(list1); } }
আউটপুট
[Adithya, Jaidev] [Raja, Chaitanya]