2010-06-13 21 views
57

ArrayList<String> में CharSequence[] बनाने का सबसे आसान तरीका क्या होगा?ArrayList <String> CharSequence []

निश्चित रूप से मैं हर ArrayList आइटम के माध्यम से पुन: प्रयास कर सकता हूं और CharSequence सरणी पर प्रतिलिपि बना सकता हूं, लेकिन शायद बेहतर/तेज तरीका है?

उत्तर

209

आप इसके लिए List#toArray(T[]) का उपयोग कर सकते हैं।

List<String> list = Arrays.asList("foo", "bar", "waa"); 
CharSequence[] cs = list.toArray(new CharSequence[list.size()]); 
System.out.println(Arrays.toString(cs)); // [foo, bar, waa] 
+15

+1 - मुद्दा यह है कि 'CharSequence' एक अंतरफलक है और' स्ट्रिंग' यह लागू करता है। –

12

उस प्रकार String पहले से ही लागू करता CharSequence को देखते हुए, इस रूपांतरण एक ताजा सरणी में ही कॉपी करने के लिए सूची पूछ के रूप में सरल है, जो वास्तव में कॉपी नहीं करेंगे:

CharSequence[] cs = list.toArray(new CharSequence[list.size()]); 

यह एक छोटा सा डेमो है अंतर्निहित चरित्र डेटा में से कोई भी। तुम बस के चारों ओर String उदाहरणों के लिए संदर्भ कॉपी कर रहे हैं:

final CharSequence[] chars = list.toArray(new CharSequence[list.size()]); 
संबंधित मुद्दे