Java 如何使用参数为Double的ChartDirector.XYChart addLineLayer()方法;

Java 如何使用参数为Double的ChartDirector.XYChart addLineLayer()方法;,java,double,linkedhashmap,chart-director,Java,Double,Linkedhashmap,Chart Director,我想使用ChartDirector.XYChart以图形格式显示输出。当我将其addLineLayer()方法与arugument作为双类型数组一起使用时,它会显示一个错误“类型XYChart中的方法addLineLayer(Double[])不适用于参数(Double[])”。但当我使用double作为参数时,它接受值。double数组中的值保存LinkedHashMap值。所以它不能用基元类型的双数组来表示。 我的代码是: //Assign linkedHashMap

我想使用ChartDirector.XYChart以图形格式显示输出。当我将其addLineLayer()方法与arugument作为双类型数组一起使用时,它会显示一个错误“类型XYChart中的方法addLineLayer(Double[])不适用于参数(Double[])”。但当我使用double作为参数时,它接受值。double数组中的值保存LinkedHashMap值。所以它不能用基元类型的双数组来表示。 我的代码是:

            //Assign linkedHashMap values to array  
Double[] avg=  (Double[]) averageMap.values().toArray();
char[] time= rs.getString(logtime).toCharArray();
XYChart c = new XYChart(250, 250);
c.setPlotArea(30, 20, 200, 200);
c.addLineLayer(avg);
错误在c.addlineLayer上。如何修复它


提前感谢。

首先,值得一提的是,
Double[]
Double[]
是不同的类型,因此不能通过一个来代替另一个。(正如不能通过传递
字符串来调用期望
int
的方法一样)

因此,您需要将双对象数组转换为基本体数组。如果没有空值,这很简单:

double[] avgsPrim = new double[avg.length];
for (int i = 0; i < avg.length; i++) {
   avgsPrim[i] = avg[i].doubleValue();
}
double[]avgsPrim=新的双精度[avg.length];
对于(int i=0;i
如果您的任何值为null,您必须考虑这在上下文中意味着什么,以及如何处理它。(跳过它?将其替换为
Double.NaN
?抛出
IllegalArgumentException
?)