Java Param.getValue.get()不工作
我试图找出我不能使用此代码的原因:Java Param.getValue.get()不工作,java,javafx,javafx-2,javafx-8,Java,Javafx,Javafx 2,Javafx 8,我试图找出我不能使用此代码的原因: for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) { final int j = i; TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1)); col.setCellValueFactory(param -> new Simple
for (int i = 0; i < rs.getMetaData().getColumnCount(); i++)
{
final int j = i;
TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1));
col.setCellValueFactory(param ->
new SimpleStringProperty(param.getValue().get(j).toString()));
showTableMembers.getColumns().addAll(col);
}
for(int i=0;i
新的SimpleStringProperty(param.getValue().get(j.toString());
showTableMembers.getColumns().addAll(col);
}
很快就要开始工作了,但是
param.getValue().get(j).toString()
它不起作用。get(j)只给出编译错误
我试过了。
遗憾的是,它没有起作用
所以现在我想知道如何让它工作
希望这里的任何人都有解决我的小问题的建议:)将确切的类型定义为
TableColumn<ObservableList<String>, String> col = new TableColumn<>(rs.getMetaData().getColumnName(i+1));
TableColumn col=newtableColumn(rs.getMetaData().getColumnName(i+1));
您是在控制台中看到更具体的错误消息,还是将鼠标悬停在红色文本上?另外,我不确定你是否在问题中省略代码时意外删除了它,但你错过了结束语)代码>从您的col.setCellValueFactory
。它只是说:无法解析方法“get(int)”。除此之外,它没有语法错误。结束括号应该放对,我相信?哦,对不起。由于下一行的缩进,我误读了你的代码。他们是正确的,是的。什么是param
?param只是我选择的lambda名称表达式。我可以叫它任何东西:)我的坏。我没怎么用兰姆达斯谢谢你!你能简单解释一下为什么需要这样定义吗?:)Java是强类型的。编译器根据调用方法的引用类型确定允许哪些方法调用。原始类型(您的代码)或正确类型(Uluk的代码)的param.getValue()
的类型是什么?