我无法通过简单的for循环将数组加载到JFreeChart的DataSet中。例如,这将完美无缺:
private PieDataset createDataset() {
DefaultPieDataset result = new DefaultPieDataset();
result.setValue("Linux", 29);
result.setValue("Mac", 20);
result.setValue("Windows", 51);
return result;
}
但是,如果我尝试通过循环遍历数组的每个元素来实现上面的代码,那么它将不起作用:
private PieDataset createDataset() {
DefaultPieDataset result = new DefaultPieDataset();
int[] array1 = new int[]{29,20,51};
char[] array2 = new char[]{"Linux", "Mac", "Windows"};
for (int i = 0; i < 3; i++) {
result.setValue(array2[i], array1[i]);
}
return result;
}
知道我哪里出错了?
答案 0 :(得分:1)
signature for DefaultPieDataset.setValue()
is
setValue(java.lang.Comparable key, double value)
所以我认为一个字符数组不允许在所述数组中使用“Comparable
”值
String
数组可能String
实现Comparable
接口,这就是您的第一个示例正在运行的原因。)