我在一个课程中有以下代码
List<String> list = new ArrayList<String>(objType.getParameters());
要将列表复制到列表中,您可以这样做:List<String> list = new ArrayList<String>(objType.getParameters());
但是如果objType.getParameters()
List是String的话。现在我的情况不是这样,而是一个Parameter对象。
public class Object_type {
public String object_type;
public Property properties;
private List<Parameter> parameters;
public List<Restriction> restriction;
public List<Parameter> getParameters() {
return parameters;
}
}
我的参数类只是一个包含字符串和整数的结构。
public class Parameter {
String parameter;
String data_type;
String description;
int min_no;
int max_no;
int order1;
int nested;
String default1;
String format;
}
我有一个List<String>
必须是那样的List<Parameter>
那必须是那样的
那么在这种情况下如何将我的列表复制到我的喜欢中?
Collection.copy也不起作用。
// Create a list of node and compile the xpath expression
NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(
xmlDocument, XPathConstants.NODESET);
arr = new String[nodeList.getLength()][constants.getParamColumns().length];
// Loop thru the list and add to string array.
for (int i = 0; i < nodeList.getLength()
/ constants.getParamColumns().length; i++) {
for (int j = 0; j < constants.getParamColumns().length; j++) {
arr[i][j] = nodeList.item(
j + (i * constants.getParamColumns().length))
.getTextContent();
list.add(nodeList.item(
j + (i * constants.getParamColumns().length))
.getTextContent());
System.out.println("current size in list : " + list.size());
}
}
setArr(arr);
Add list to List<Parameter> here <-----
System.out.println(" size of list : "
+ objType.getParameters().size());
答案 0 :(得分:0)
你做不到。与您无法将一个不兼容的类型变量分配给另一个变量相同,例如&#34; String s = new Parameter()&#34;。
答案 1 :(得分:0)
您无法为String分配参数。需要更改列表的类型
List<Parameter > list=objType.getParameters(); //UPDATED
答案 2 :(得分:0)
非常模糊地做, 您可以迭代所获得的String列表,并通过操作接收的String手动创建Parameter对象,然后将Parameter对象添加到参数列表中。
只有当您可以操作收到的String并确切地确定您想要在参数对象中提供哪些信息时,它才会起作用。
希望这有帮助!
祝你好运!