Java 通过ArrayList<;双倍>;通过意图

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

我在Android Studio中将
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
return
double[]
不是
ArrayList
。请查看此文档可能的重复项请显示一个。
bundle.getDoubleArray
返回什么?或者,第一个代码段中的
Wlist
是什么?是因为
getDoubleArray
return
double[]
不是
ArrayList
。请参阅此文档,了解可能的重复项