Java 通过ArrayList<;双倍>;通过意图
我在Android Studio中将Java 通过ArrayList<;双倍>;通过意图,java,android,Java,Android,我在Android Studio中将ArrayList传递给另一个活动时遇到问题 我创建了一个ArrayList,它保存数据类型Double。程序应该读取它并在控制台中打印它 这是第一个活动中的代码: Intent intent = new Intent(this, ergebnisse.class); intent.putExtra("WLTP_list", Wlist); startActivity(intent); Bundle bundle = getIntent().getE
ArrayList
传递给另一个活动时遇到问题
我创建了一个ArrayList
,它保存数据类型Double
。程序应该读取它并在控制台中打印它
这是第一个活动中的代码:
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");
这是第二个活动的代码:
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");
Bundle Bundle=getIntent().getExtras();
ArrayList Wlist=(ArrayList)bundle.getDoubleArray(“WLTP_列表”);
最后一个等号后面的部分标记为红色,错误为:
Inconvertible types; cannot cast 'double[]' to 'Java.util.ArrayList<Java.lang.Double>'
不可转换类型;无法将“double[]”强制转换为“Java.util.ArrayList”
我没有更改类型,所以我不知道它为什么会给我这个错误。您正在调用
bundle.getDoubleArray()
,它返回一个数组,而不是ArrayList,这就是为什么您在尝试将double[]数组转换为ArrayList时会出现错误。您正在调用bundle.getDoubleArray()
,它返回一个数组,而不是ArrayList,这就是为什么在尝试将double[]数组转换为ArrayList时会出现错误。请在第二个活动中尝试以下代码:
ArrayList<Double> Wlist = (ArrayList<Double>) getIntent().getSerializableExtra("WLTP_list");
ArrayList Wlist=(ArrayList)getIntent().getSerializableExtra(“WLTP_列表”);
当前使用的方法返回的是数据类型为Double
的Array
,而不是ArrayList
。我提供的代码应该为您提供一个ArrayList
如果该行不起作用,您可以随时查看答案。请在第二个活动中尝试以下代码:
ArrayList<Double> Wlist = (ArrayList<Double>) getIntent().getSerializableExtra("WLTP_list");
ArrayList Wlist=(ArrayList)getIntent().getSerializableExtra(“WLTP_列表”);
当前使用的方法返回的是数据类型为Double
的Array
,而不是ArrayList
。我提供的代码应该为您提供一个ArrayList
如果该行不起作用,您可以查看答案。getDoubleArray()方法返回类型为double[]的数组,该数组不能显式转换为ArrayList。如果您真的想将其用作ArrayList,则需要获取double[]数组并将其显式转换为ArrayList。比如说
ArrayList<Double> Wlist = ArrayList<Double>(Arrays.asList( bundle.getDoubleArray("WLTP_list")));
ArrayList Wlist=ArrayList(Arrays.asList(bundle.getDoubleArray(“WLTP_list”));
getDoubleArray()方法返回类型为double[]的数组,该数组不能显式转换为ArrayList。如果您真的想将其用作ArrayList,则需要获取double[]数组并将其显式转换为ArrayList。比如说
ArrayList<Double> Wlist = ArrayList<Double>(Arrays.asList( bundle.getDoubleArray("WLTP_list")));
ArrayList Wlist=ArrayList(Arrays.asList(bundle.getDoubleArray(“WLTP_list”));
尝试这种方法
第一项活动:
Intent intent = new Intent(this, SecondActivity.class);
ArrayList<Double> listDouble = new ArrayList<Double>();
listDouble.add(1.0);
listDouble.add(2.0);
intent.putExtra("WLTP_list", listDouble);
startActivity(intent);
ArrayList<Double> listDouble = (ArrayList<Double>) getIntent().getSerializableExtra("WLTP_list");
System.out.println("Return.." + listDouble);
Intent-Intent=新的Intent(这个,SecondActivity.class);
ArrayList listDouble=新的ArrayList();
添加(1.0);
添加(2.0);
intent.putExtra(“WLTP_列表”,listDouble);
星触觉(意向);
第二项活动:
Intent intent = new Intent(this, SecondActivity.class);
ArrayList<Double> listDouble = new ArrayList<Double>();
listDouble.add(1.0);
listDouble.add(2.0);
intent.putExtra("WLTP_list", listDouble);
startActivity(intent);
ArrayList<Double> listDouble = (ArrayList<Double>) getIntent().getSerializableExtra("WLTP_list");
System.out.println("Return.." + listDouble);
ArrayList listDouble=(ArrayList)getIntent().getSerializableExtra(“WLTP_列表”);
System.out.println(“Return..+listdool”);
尝试这种方法
第一项活动:
Intent intent = new Intent(this, SecondActivity.class);
ArrayList<Double> listDouble = new ArrayList<Double>();
listDouble.add(1.0);
listDouble.add(2.0);
intent.putExtra("WLTP_list", listDouble);
startActivity(intent);
ArrayList<Double> listDouble = (ArrayList<Double>) getIntent().getSerializableExtra("WLTP_list");
System.out.println("Return.." + listDouble);
Intent-Intent=新的Intent(这个,SecondActivity.class);
ArrayList listDouble=新的ArrayList();
添加(1.0);
添加(2.0);
intent.putExtra(“WLTP_列表”,listDouble);
星触觉(意向);
第二项活动:
Intent intent = new Intent(this, SecondActivity.class);
ArrayList<Double> listDouble = new ArrayList<Double>();
listDouble.add(1.0);
listDouble.add(2.0);
intent.putExtra("WLTP_list", listDouble);
startActivity(intent);
ArrayList<Double> listDouble = (ArrayList<Double>) getIntent().getSerializableExtra("WLTP_list");
System.out.println("Return.." + listDouble);
ArrayList listDouble=(ArrayList)getIntent().getSerializableExtra(“WLTP_列表”);
System.out.println(“Return..+listdool”);
请出示一张照片。bundle.getDoubleArray
返回什么?或者,第一个代码段中的Wlist
是什么?是因为getDoubleArray
returndouble[]
不是ArrayList
。请查看此文档可能的重复项请显示一个。bundle.getDoubleArray
返回什么?或者,第一个代码段中的Wlist
是什么?是因为getDoubleArray
returndouble[]
不是ArrayList
。请参阅此文档,了解可能的重复项