سلام. از اینها تو سورسهایی که مطالعه میکردم جاهایی دیدم ولی نفهمیدم کاربردشون چی هستش و چرا باید ازشون استفاده کرد و دلیل استفاده و اهمیت کاربرد اونها چی هستش. از دوستان این مورد رو هم خواهش میکنم لطف کنند راهنمایی کنند
Printable View
سلام. از اینها تو سورسهایی که مطالعه میکردم جاهایی دیدم ولی نفهمیدم کاربردشون چی هستش و چرا باید ازشون استفاده کرد و دلیل استفاده و اهمیت کاربرد اونها چی هستش. از دوستان این مورد رو هم خواهش میکنم لطف کنند راهنمایی کنند
اینا دوتا اصلاحگر هستن که صرفا برای افزایش خوانایی کد کاربرد دارن. البته فقط یه پیادهسازی از این دوتا اصلاحگر وجود نداره و تو خیلی از پکیجها میتونی پیداشون کنی: لینک
البته بعضا IDEها هم امکاناتی رو در این موارد اضافه کردن که میتونی مستندات IDEت رو بخونی.
یه مثال از کاربرد این اصلاحگرها:
import java.util.Objects;
final class SimpleLogger {
private SimpleLogger() {}
public static void logNotNull(@NotNull Object obj) {
System.out.println(Objects.requireNonNull(obj, "Field `obj` must not be null."));
}
public static void logNullable(@Nullable Object obj) {
System.out.println(obj);
}
}
استفاده:
public static void main(String[] args) {
SimpleLogger.logNullable("I'm annotated by @Nullable");
SimpleLogger.logNullable(null);
SimpleLogger.logNotNull("I'm annotated by @NotNull");
SimpleLogger.logNotNull(null);
}
اینم ببین.
ویرایش:
پیشنهاد میکنم به جای اصلاحگر NotNull از متد requireNonNull در کلاس java.util.Objects استفاده کنی:
Object notnull = Objects.requireNonNull(obj, "Obj is NULL :|");
و به جای اصلاحگر Nullable هم از کلاس java.util.Optional استفاده کنی که البته توی جاوا۸ اضافه شده. لینک