Java 字符串不能应用于com.org.apache.xpath.internal.operations.String
我试图在JavaFX中创建一个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
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分钟内不能完成;)我也犯了同样的错误,我想知道为什么我的琴弦不合拍。