क्यों यह काम ठीक ?:String.Format() एक भी तर्क के रूप में एक सरणी लेता
String f = "Mi name is %s %s.";
System.out.println(String.format(f, "John", "Connor"));
और यह does not ?:
String f = "Mi name is %s %s.";
System.out.println(String.format(f, (Object)new String[]{"John","Connor"}));
विधि String.Format एक vararg लेता है, तो वस्तु?
यह ठीक से संकलित करता है लेकिन जब मैं इसे निष्पादित करता हूं तो String.format() vararg ऑब्जेक्ट को एक अद्वितीय तर्क (सरणी() सरणी के) स्ट्रिंग() मान के रूप में लेता है), इसलिए यह एक MissingFormatArgumentException फेंकता है क्योंकि यह मेल नहीं खाता दूसरा स्ट्रिंग विनिर्देशक (% s)।
मैं इसे कैसे काम कर सकता हूं? अग्रिम धन्यवाद, किसी भी मदद की सराहना की जाएगी।
सुनिश्चित नहीं किया जा सकता है लेकिन क्या आप ऑब्जेक्ट करने के लिए स्ट्रिंग सरणी कास्टिंग किए बिना जांच सकते हैं? –