मेरे पास एक विधि है:वापसी प्रकार vararg?
void foo(int x, Grok... groks);
एक विधि को परिभाषित करने का कोई तरीका नहीं है जो एक प्रकार के varargs देता है, है ना? आदर्श रूप से मैं एक अतिरिक्त उपयोग विधि चाहता हूं:
foo(25, new Grok(), new Grok(), generateMoreGroks());
public Grok... generateMoreGroks() {
return new Grok[] {
new Grok(), new Grok(), new Grok() };
}
सही?
---- अधिक जानकारी --------------
उपरोक्त के साथ समस्या यह है कि हम वहां कुछ आवंटित उदाहरणों को मिश्रित नहीं कर सकते हैं Groks:
"new Grok(), new Grok(), generateMoreGroks());"
और मुझे नहीं लगता कि यह कानूनी है, जब तक कि आप एक प्रकार का vararg (मुझे लगता है) वापस करने के लिए एक विधि परिभाषित नहीं कर सकता।
धन्यवाद
हाय हाँ, लेकिन मैं varargs पैरामीटर में कुछ ग्रोक उदाहरणों के साथ एक सरणी मिश्रण नहीं कर सकता (जैसे ऊपर foo() को कॉल में)। मैं या तो केवल एक सरणी, या व्यक्तिगत ग्रोक उदाहरण प्रदान कर सकते हैं। लेकिन दोनों नहीं? – user291701
@ user291701 - यह सही है। –
यह दिखाने के लिए संपादित किया गया कि यह कैसे करें, यह बदसूरत हो जाता है हालांकि – sbridges