@SafeVarargs ใน Java 9
@SafeVarargs เพิ่มใน Java 7 ใช้กับ final/static methods หรือ constructors ที่มี varargs ตั้งแต่ Java 9 ใช้กับ private instance methods ได้ด้วย
วัตถุประสงค์
ยืนยันว่า method ไม่ทำ unsafe operations กับ varargs parameter (เช่น ไม่ให้ varargs array หลุดไปนอก scope)
Syntax
@SafeVarargs private void methodName(...) {
// some statements
}
ตัวอย่าง
import java.util.ArrayList;
import java.util.List;
public class SafevarargsTest {
@SafeVarargs // Apply to private method
private void display(List<String>... names) {
for (List<String> name : names) {
System.out.println(name);
}
}
public static void main(String args[]) {
SafevarargsTest test = new SafevarargsTest();
List<String> list = new ArrayList<>();
list.add("TutorialsPoint");
list.add("Tutorix");
test.display(list);
}
}
Output
[TutorialsPoint, Tutorix]
สรุป
Java 9 ขยาย @SafeVarargs ให้ครอบคลุม private instance methods ช่วยลด warning ที่ไม่จำเป็นเมื่อใช้ varargs อย่างปลอดภัย