Avatar ·

कौन सी Java @NonNull/@NotNull एनोटेशन बेहतर है? तुलना और सुझाव

सभी को नमस्ते! मैं एक नौसिखिया Java डेवलपर हूँ, और दूसरे दिन से एक साधारण से सवाल पर उलझन में हूँ: प्रोजेक्ट में कौन सी @NotNull (या @NonNull) एनोटेशन का उपयोग करूँ?

समस्या यह है कि मैं इन्हें अलग-अलग जगहों पर देखता हूँ और समझ नहीं पाता कि कौन सी "सही" है। उदाहरण के लिए, IntelliJ IDEA में अपनी org.jetbrains.annotations.NotNull है। Spring Boot प्रोजेक्ट में मुझे javax.annotation.Nonnull (अब jakarta.annotation.Nonnull) मिला। और एक सहकर्मी ने कहा कि jakarta.validation.constraints.NotNull या lombok.NonNull का उपयोग करना बेहतर है।

यहाँ एक सरल उदाहरण है जो मुझे भ्रमित करता है:

import org.jetbrains.annotations.NotNull;

public class UserService {

    public String greet(@NotNull String name) {
        return "Hello, " + name;
    }

    public static void main(String[] args) {
        UserService service = new UserService();
        System.out.println(service.greet(null));
    }
}