从数组内容动态添加字符串

时间:2014-10-22 10:27:17

标签: java android

我有一个数组,根据一些用户选择,内容可能会有所不同。 其中一个数组看起来像这样:

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]);
}

该数组包括:firstname,lastname,address和status。 所以我想最终得到一个循环 - 将它们定义为字符串并为这些字符串赋值,最后是rawcode:

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

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

3 个答案:

答案 0 :(得分: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]);
}

希望它能解决你的问题。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您无法在运行时构建执行新的Java代码。此外,单个String firstname包含c.getString("firstname")而没有任何进一步信息的重点是什么?您最好在需要唯一返回值的地方使用c.getString("firstname")

您必须拥有有关哪些数据与哪个索引相对应的信息。除了事实之外,以名称"Carter"为例,数组中的索引数可能会根据用户的选择而有所不同。如果"Carter"是名字或姓氏,你将如何检查?