gpt4 book ai didi

JAVA 将对象转换为 ArrayList 不起作用

转载 作者:行者123 更新时间:2023-12-01 22:39:09 25 4
gpt4 key购买 nike

关于问题

最终,当我尝试将对象转换为 ArrayList 时,当我使用 ArrayList 中的方法(例如 .size()、.get())时,我遇到了问题:

错误返回给我:

错误:找不到符号

来源

public String parseValueParam(Object value) throws InvalidAttribute{

if(value instanceof ArrayList){
value = (ArrayList) value;

String result = "";

for(int i = 0, _len = value.size(); i < _len; i ++){
result += this.parseValueParam(value.get(i));
if (i < _len - 1) result += " , ";
};
return result;

} else if(helper.isString(value)){

return value.toString().replaceAll("'", "");

} else if (helper.isInteger(value) || helper.isDouble(value)){

return value.toString();

} else {

throw new InvalidAttribute("Invalid attribute type");
}
}

我尝试声明几个同名的方法,一个使用 Object 来接受 String、Int 和 Double,另一个只接受 ArrayList。但是,当我运行代码时,仅执行 use 对象。

public String parseValueParam(ArrayList value) throws InvalidAttribute{

String result = "";
for(int i = 0, _len = value.size(); i < _len; i ++){
result += this.parseValueParam(value.get(i));
if (i < _len - 1) result += " , ";
};
return result;
}

最佳答案

value 被声明为 Object 类型。
当您显式地将其解析为 ArrayList 对象时,您仍然将其分配给 value 变量。 value 的类型仍然是 Object,无法更改。
使用 ArrayList 的另一个变量,然后使用该变量。

ArrayList value2;
if(value instanceof ArrayList){
value2 = (ArrayList) value;
String result = "";

for(int i = 0, _len = value2.size(); i < _len; i ++){
....

关于JAVA 将对象转换为 ArrayList 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26446391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com