2009-06-03 9 views
15

:क्या जावा चर वैरिएबल चर का समर्थन करता है? इस तरह PHP में के रूप में

<?php 
$a = 'hello'; 
$$a = 'world'; 

echo $hello; 
// Prints out "world" 
?> 

मैं मक्खी (जो एक एक ArrayList में रखा जाता है) पर HashMaps की संख्या अज्ञात बनाना होगा। कृपया कहें कि क्या एक आसान या अधिक जावा-केंद्रित तरीका है। धन्यवाद।

+12

मेरे सिर दर्द होता है, बिल्ली क्या है? –

उत्तर

12

सबसे अच्छा आप कर सकते हैं हैश मैप्स का हैश मैप है। उदाहरण के लिए:

Map<String,Map<String,String>> m = new HashMap<String,Map<String,String>>(); 
// not set up strings pointing to the maps. 
m.put("foo", new HashMap<String,String>()); 
0

इसे जावा में परिवर्तनीय चर नहीं कहा जाता है।

इसे प्रतिबिंब कहा जाता है।

विवरण के लिए java.lang.reflect पैकेज दस्तावेज़ों पर एक नज़र डालें।

आप प्रतिबिंब का उपयोग करके ऐसी सभी चीजें कर सकते हैं।

Bestoes,

jrh।

+2

अच्छा, आप कर सकते हैं, लेकिन यह एक अच्छा विचार नहीं है। विभिन्न कारणों से, विशेष रूप से सुरक्षा और प्रदर्शन टाइप करें, प्रतिबिंब आमतौर पर केवल अंतिम उपाय के रूप में उपयोग किया जाना चाहिए। यहां बस एक मानचित्र का उपयोग करना (जैसा कि अन्य उत्तरों में वर्णित है) अधिक उपयुक्त है। – sleske

+1

नहीं, ओपी रनटाइम पर निर्धारित नाम के साथ चर बनाना चाहता है। लेकिन रनटाइम पर कोई परिवर्तनीय नाम नहीं हैं। – newacct

1

जावा आपके द्वारा अभी तक PHP में किए गए समर्थन का समर्थन नहीं करता है।

ऐसा कुछ करने के लिए आपको केवल List<Map<>> बनाना चाहिए और वहां अपने HashMap एस स्टोर करना चाहिए। आप HashMaps के HashMap का उपयोग कर सकते हैं।

जावा में एक 'परिवर्तनीय चर' एक सरणी या सूची या कुछ प्रकार के डेटा संरचना भिन्न आकार के साथ है।

1

नहीं, आप की तरह

List<Map<String,String> myMaps = new ArrayList<Map<String,String>>() 

कुछ करना होगा और फिर अपने पाश में आप क्या करेंगे:

Map<String,String> newMap = new Hashtable<String,String>(); 
//do stuff with newMap 
myMaps.add(newMap); 
0

आप नहीं कर सकते!

इसका कोई सीधा तरीका नहीं है। Arrays, प्रतिबिंब आदि मदद कर सकते हैं।

संबंधित मुद्दे