java通过意图传递ArrayList<Double>
我在Android Studio中将ArrayList
传递给另一个活动时遇到问题
我创建了一个保存数据类型Double
的ArrayList
。程序应该读取它并在控制台中打印它
这是第一个活动中的代码:
Intent intent = new Intent(this, ergebnisse.class);
intent.putExtra("WLTP_list", Wlist);
startActivity(intent);
这是第二个活动的代码:
Bundle bundle = getIntent().getExtras();
ArrayList<Double> Wlist = (ArrayList<Double>) bundle.getDoubleArray("WLTP_list");
最后一个等号后面的部分标记为红色,错误为:
Inconvertible types; cannot cast 'double[]' to 'Java.util.ArrayList<Java.lang.Double>'
我没有改变类型,所以我不知道为什么它会给我这个错误
# 1 楼答案
试着这样做
第一项活动:
第二项活动:
# 2 楼答案
getDoubleArray()方法返回类型为double[]的数组,该数组不能显式转换为ArrayList。如果您真的想将其用作ArrayList,则需要获取double[]数组并将其显式转换为ArrayList。比如说
# 3 楼答案
请在第二个活动中尝试以下代码:
当前使用的方法返回数据类型为
Double
的Array
,而不是ArrayList
。我提供的代码应该给您一个ArrayList
如果那行不行,你可以随时查看this答案
# 4 楼答案
您正在调用
bundle.getDoubleArray()
,它返回一个数组,而不是ArrayList,这就是为什么您在尝试将double[]数组转换为ArrayList时出现错误的原因