गूगल के अमरूद पुस्तकालय राज्यों से Preconditions के लिए जावाडोक कि:ऑब्जेक्ट्स.क्वायर नॉननुल() का उपयोग क्यों नहीं किया जाना चाहिए अगर गुवा से com.google.common का उपयोग किया जाता है?
परियोजनाओं जो
com.google.common
का उपयोग आम तौर पर Objects.requireNonNull(Object) के उपयोग से बचना चाहिए। इसके बजाय, स्थिति का उचित उपयोग checkNotNull(Object) या Verify.verifyNotNull(Object) का उपयोग करें। (यह संदेश-स्वीकार्य ओवरलोड के लिए भी जाता है।)
इस अनुशंसा के पीछे प्रेरणा क्या है? मैं जावाडोक में कोई नहीं ढूंढ सकता।
मेरा मतलब है, वे काफी वही काम करते हैं, और इन मामलों में मानक एपीआई का उपयोग करना आम तौर पर बेहतर होता है (उदाहरण के लिए, जोडा-टाइम के पीछे लोग अब लोगों को java.time
का उपयोग करने की सलाह देते हैं, जो कि अपने आप को बहुत कम करते हैं ढांचा)।
उदाहरण के लिए, इनपुट सत्यापन के इन दो पंक्तियों में एक ही काम करते हैं:
class PreconditionsExample {
private String string;
public PreconditionsExample(String string) {
this.string = Objects.requireNonNull(string, "string must not be null");
this.string = Preconditions.checkNotNull(string, "string must not be null");
}
}
आह, मैं देखता हूं! मैंने जवाडॉक्स में इसका संक्षिप्त उल्लेख किया होगा। मुझे लगता है, लेकिन मुझे लगता है कि आप एक उदाहरण जोड़कर अपने उत्तर को और भी बेहतर बना सकते हैं जहां 'ऑब्जेक्ट्स.क्वायर नॉननुल()' पर्याप्त नहीं है। – Magnilex