2

我无法通过简单的 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;

}

知道我哪里出错了吗?

4

1 回答 1

1

签名DefaultPieDataset.setValue()

setValue(java.lang.Comparable key, double value)

所以我不认为字符数组允许Comparable在所述数组中使用“”值。
可能的数组StringString实现Comparable接口,这就是您的第一个示例有效的原因)。

于 2012-05-07T08:17:01.177 回答