हालांकि सवाल में उदाहरण से ऐसा लगता है कि ओपी checkNotNull
की विशेष रूप के बारे में विशेष रूप से पूछ रहा है, वहाँ checkNotNull
जिसमें printf
शैली प्रपत्र varargs देखा जा सकता है का उपयोग कर के पक्ष में सामान्य रूप में एक और अधिक सूक्ष्म अंतर है। Guava Preconditions
का उपयोग कर उदाहरण के लिए आप निम्न कर सकते हैं:
public void getInput(String companyName) {
String context = "Google";
String moreContext = "Facebook";
checkNotNull(companyName, "Why not try %s or %s", context, moreContext);
}
Objects.requireNonNull
साथ आप की तरह
public void getInput(String companyName) {
String context = "Google";
String moreContext = "Facebook";
checkNotNull(companyName, "Why not try " + context + " or " + moreContext);
}
संदर्भ कुछ करना होगा: Preconditions Explained
सरल के नीचे अनुभाग देखें, varargs "printf स्टाइल "अपवाद संदेश। (यह लाभ भी कारण है कि हम Objects.requireNonNull से अधिक checkNotNull का उपयोग जारी रखने की सलाह देते हैं JDK में शुरू की गई है 7.)
संपादित करें: हालांकि नोट करने के लिए एक बात है कि errorMessageTemplate करने के लिए सभी आर्ग स्ट्रिंग तो String.valueOf(arg)
का उपयोग कर में बदल दिए जाते है आप केवल% s का उपयोग कर सकते हैं और अन्य प्रकार के विनिर्देशकों जैसे% d या% f आदि
स्रोत
2016-07-21 12:57:49
स्रोत से सीधे उपयोग कर सकते हैं। धन्यवाद! – vpiTriumph