Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不兼容类型:无法转换为_Java_Javafx - Fatal编程技术网

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());