Java 不兼容类型:无法转换为
我有一个类,Java 不兼容类型:无法转换为,java,javafx,Java,Javafx,我有一个类,NewBeautifulKiwi,它有getter和setter 当我尝试设置以下选项时: public void setKiwi(String Kiwi) { this.Kiwi = Kiwi; } 使用文本字段中的值,如: @FXML TextField KIWITextField; NewBeautifulKiwi newBeautifulKiwi = new NewBeautifulKiwi() .setKiwi(KIWITextField.getText(
NewBeautifulKiwi
,它有getter和setter
当我尝试设置以下选项时:
public void setKiwi(String Kiwi) {
this.Kiwi = Kiwi;
}
使用文本字段中的值,如:
@FXML
TextField KIWITextField;
NewBeautifulKiwi newBeautifulKiwi = new NewBeautifulKiwi()
.setKiwi(KIWITextField.getText());
我收到错误消息:
不兼容类型:无法转换为NewBeautifulKiwi
以下是完整的课程(这个问题的必要摘录)
如何将TextField值传递给setter
NewBeautifulKiwi newBeautifulKiwi = new
NewBeautifulKiwi().setKiwi(KIWITextField.getText());
这里的setKiwi
是无效方法。不归还任何东西。您可以按如下方式更改代码
new NewBeautifulKiwi().setKiwi(KIWITextField.getText());`
如果您的setKiwi
方法如下,则可以使用当前代码
public NewBeautifulKiwi setKiwi(String Kiwi) {
this.Kiwi = Kiwi;
return kiwi;
}
newnewbeautifulkiwi().setKiwi(KIWITextField.getText())的返回值代码>由setKiwi
的签名确定,即:public void setKiwi(String Kiwi)
因此,该表达式不返回任何内容(void),并且不能将其分配给变量。您可以拆分这两条语句:
NewBeautifulKiwi newBeautifulKiwi = new NewBeautifulKiwi();
newBeautifulKiwi.setKiwi(KIWITextField.getText());
或者使用流畅的界面风格(在这种情况下,我个人的偏好是,它允许您使用链式设置器):
您对错误消息的描述中是否有输入错误,或者错误消息本身是否有输入错误?如果是后者,我们应该保留你问题中的拼写错误,以便其他人能找到。不兼容还是不兼容?嗨。第二个解决方案,fluent接口,可以工作。第一个没有。第二个错误是:包newBeautifulKiwi不存在,应为,包KIWITextField不存在。有什么问题吗?@user3189827您是否在类中的方法中包含了这两行代码?这个错误通常是由于缺少括号或语句没有包含在一个方法中,或者一个文件中有多个类声明等等。哇!谢谢你,伙计。现在它起作用了。我必须把这两个语句放在一个方法中。
NewBeautifulKiwi newBeautifulKiwi = new NewBeautifulKiwi();
newBeautifulKiwi.setKiwi(KIWITextField.getText());
public NewBeautifulKiwi setKiwi(String Kiwi) {
this.Kiwi = Kiwi;
return this;
}
//Now that will compile
NewBeautifulKiwi newBeautifulKiwi = new NewBeautifulKiwi().setKiwi(KIWITextField.getText());
NewBeautifulKiwi newBeautifulKiwi = new NewBeautifulKiwi();
newBeautifulKiwi.setKiwi(KIWITextField.getText());