Java 字符串不能应用于com.org.apache.xpath.internal.operations.String

Java 字符串不能应用于com.org.apache.xpath.internal.operations.String,java,javafx,hashmap,Java,Javafx,Hashmap,我试图在JavaFX中创建一个PieChart,我想用HashMap中的数据填充它 这是我的密码: public Graph(HashMap<String, Double> chartData) { ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(); for (Map.Entry<String, Double> entry: cha

我试图在JavaFX中创建一个
PieChart
,我想用
HashMap
中的数据填充它

这是我的密码:

public Graph(HashMap<String, Double> chartData) {
    ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList();

    for (Map.Entry<String, Double> entry: chartData.entrySet()) {
        String s = entry.getKey();
        new PieChart.Data(entry.getKey(), entry.getValue());
        //System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
    }

    chart = new PieChart(pieChartData);
    chart.setTitle("Imported Fruits");
}
公共图(HashMap chartData){
ObservableList pieChartData=FXCollections.observableArrayList();
对于(Map.Entry:chartData.entrySet()){
字符串s=entry.getKey();
新的PieChart.Data(entry.getKey(),entry.getValue());
//System.out.println(“Key=“+entry.getKey()+”,Value=“+entry.getValue());
}
图表=新的PieChart(pieChartData);
图表.setTitle(“进口水果”);
}
我面临的问题是,当我尝试使用
entry.getKey()
作为字符串时,会出现以下错误:

数据中的数据(java.lang.String,double)不能应用于 (com.org.apache.xpath.internal.operations.String,双精度)


字符串标记为红色,当我将
entry.getKey()
替换为
“一些文本”
时,它确实起作用。原因是什么?

您似乎在当前文件中导入了错误的“String”类(
com.org.apache.xpath.internal.operations.String
),数据类需要正确的类(
java.lang.String
)。确保导入正确(即删除第一种类型的导入)

另请参见,询问者遇到类似问题的地方

此代码片段:

new PieChart.Data(entry.getKey(), entry.getValue());
entry.getKey()
不是字符串

String s = entry.getKey();
new PieChart.Data(s, entry.getValue());
试试看


谢谢,一定是自己导入的,但没有被注意到。是的,我会的,15分钟内不能完成;)我也犯了同样的错误,我想知道为什么我的琴弦不合拍。