को संभालने के लिए स्वच्छ अमरूद तरीका मेरे पास एक विधि है जो Collection<Foo> foos
पर तर्क लेती है, जो पूर्ण हो सकती है। मैं ImmutableSet
के रूप में इनपुट की स्थानीय प्रति के साथ समाप्त करना चाहता हूं। अभी मेरा कोड इस तरह दिखता है:संभवतः शून्य संग्रह
if (foos == null)
{
this.foos = ImmutableSet.of();
}
else
{
this.foos = ImmutableSet.copyOf(foos);
}
क्या ऐसा करने का कोई क्लीनर तरीका है? यदि foos
एक साधारण पैरामीटर था, तो मैं Objects.firstNonNull(foos, Optional.of())
जैसे कुछ कर सकता था लेकिन मुझे यकीन नहीं है कि संग्रहों को संभालने के समान कुछ है या नहीं।
+1 और यह इंगित करने लायक हो सकता है कि 'copyOf' इनपुट को वापस करने के लिए पर्याप्त स्मार्ट है यदि यह' इमटेबलसेट 'है। –
@ पॉलबेलोरा मुझे विश्वास है कि आपने अभी किया है। ':)' –
इसके अलावा 'अपरिवर्तनीय सेट। दुर्भाग्यवश() 'आवश्यक हो सकता है। –