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