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]