Java JFreeChart将数组加载到数据集中

Java JFreeChart将数组加载到数据集中,java,arrays,for-loop,jfreechart,Java,Arrays,For Loop,Jfreechart,我无法通过简单的for循环将数组加载到JFreeChart的数据集中。例如,这将是一个完美的世界: private PieDataset createDataset() { DefaultPieDataset result = new DefaultPieDataset(); result.setValue("Linux", 29); result.setValue("Mac", 20); result.setValue("Windows",

我无法通过简单的for循环将数组加载到JFreeChart的数据集中。例如,这将是一个完美的世界:

    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;

}
private数据集createDataset(){
DefaultPieDataset结果=新建DefaultPieDataset();
int[]array1=新的int[]{29,20,51};
char[]array2=新字符[]{“Linux”、“Mac”、“Windows”};
对于(int i=0;i<3;i++){
result.setValue(array2[i],array1[i]);
}
返回结果;
}
知道我哪里出错了吗?

因此,我认为字符数组不允许在所述数组中使用“
可比较的
”值。
String
数组可能(
String
实现了
可比较的
接口,这就是第一个示例工作的原因)

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