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()
的类型是什么?