2014-10-22 40 views
0

我有一个数组,它可能会根据某些用户选择而在内容上有所不同。 一个阵列的是这样的:从数组内容动态添加字符串

String[] get_elements = { "firstname", "lastname", "address", "status" }; 

在静态函数,得到我需要结束了,我这样做:

String name = c.getString(JSON_NAME); 
String address = c.getString(JSON_ADDRESS); 
String status = c.getString(JSON_STATUS); 

现在,我想做的事,设置一个字符串,基于什么数组的内容,这样的:

for (int x = 0; x < get_elements.length; x++) { 
    String get_elements[x] = c.getString(get_elements[x]); 
} 

阵列包括:名字,姓氏,地址和状态。 所以我想结束一个循环,将它们定义为字符串,并将这些字符串分配值,与rawcode结束了:

string firstname = c.getString("firstname"); 

等。我试过使用String get_elements [x] = c.getString(get_elements [x]),但没有运气。 有没有办法根据数组内容动态创建字符串?

+0

您不能使用动态名称的变量。句号。 – immibis 2014-10-22 10:28:51

回答

0

不,你不能。您尝试使用数组的方式就是您可以尝试类似于此的方法。

String[] elements=new String[4]; 
for (int x = 0; x < get_elements.length; x++) { 
    elements[x] = c.getString(get_elements[x]); 
} 
0

您正在替换数组中的现有元素。而是试试这个:

String result_elements = new String[get_elements.length]; 

for (int x = 0; x < get_elements.length; x++) { 
    result_elements[x] = c.getString(get_elements[x]); 
} 

希望它解决了你的问题。

0

您不能在运行时生成执行新的java代码。此外,包含c.getString("firstname")的单个String firstname没有任何进一步的信息会是什么?如果您需要唯一的返回值,您最好使用c.getString("firstname")

您必须拥有关于什么数据对应于哪个索引的信息。以名称"Carter"为例,除此之外,阵列中索引的数量可能会根据用户的选择而有所不同。如果"Carter"是名字或姓氏,你打算如何检查?