Java编译错误“;类MpsPojo中的方法setSchema不能应用于给定类型&引用;

Java编译错误“;类MpsPojo中的方法setSchema不能应用于给定类型&引用;,java,Java,嗨,我看到了一些与此相关的问题,但没有找到任何切中要害的解决方案 我将POJO类定义为: MpsPojo.java 我的第二个业务逻辑是::MpsLogic.java public class MpsLogic { public void calculateAssert(MpsPojo mpspojo){ String manufacturer; String product; String schema; manu

嗨,我看到了一些与此相关的问题,但没有找到任何切中要害的解决方案

我将POJO类定义为:

MpsPojo.java

我的第二个业务逻辑是::MpsLogic.java

    public class  MpsLogic {

public void calculateAssert(MpsPojo mpspojo){

        String manufacturer;
        String product;
        String schema;

        manufacturer = mpspojo.getMfr();
        product = mpspojo.getProd();
        schema = mpspojo.getSchema();

        String url = "http://localhost:9120/dashboards/all/list/"+manufacturer+"/"+product+"/"+schema;
    }
    }
public class FinalLogic {

    MpsPojo mpspojon = new MpsPojo();
    MpsLogic mpslogicn = new MpsLogic();
    @Test
    public void firstTest() {

                    mpspojon.setMfr("m1");
                    mpspojon.setProd("p1");
                    mpspojon.setSchema("sch1");
                    mpslogicn.calculateAssert(mpspojon);
                    System.out.println("Printing from Final class");
                    }
最后一个类,测试类是::FinalLogic.java

    public class  MpsLogic {

public void calculateAssert(MpsPojo mpspojo){

        String manufacturer;
        String product;
        String schema;

        manufacturer = mpspojo.getMfr();
        product = mpspojo.getProd();
        schema = mpspojo.getSchema();

        String url = "http://localhost:9120/dashboards/all/list/"+manufacturer+"/"+product+"/"+schema;
    }
    }
public class FinalLogic {

    MpsPojo mpspojon = new MpsPojo();
    MpsLogic mpslogicn = new MpsLogic();
    @Test
    public void firstTest() {

                    mpspojon.setMfr("m1");
                    mpspojon.setProd("p1");
                    mpspojon.setSchema("sch1");
                    mpslogicn.calculateAssert(mpspojon);
                    System.out.println("Printing from Final class");
                    }
}

在程序FinalLogic.java中,这给了我编译错误error
类MpsPojo中的方法setSchema不能应用于给定类型

但是当我注释行
mpspojon.setProd(“p1”)
mpspojon.setSchema(“sch1”)那么这可以正常工作,没有错误

我做了很多调试,但没有找到任何线索。任何帮助都会对我很有帮助

谢谢

setSchema()
在您的声明中没有收到任何参数。将其更改为:

public void setSchema(String sche) {
    this.sche = sche;
}
对于
setProd

如果您使用任何IDE,我建议您:

  • 查看您将得到的警告(赋值
    this.sche=sche
    将发出警告
    在没有参数方法的情况下,对变量thing的赋值不起作用
  • 自动生成setter/getter,不要自己编写它们(从而避免任何可能的键入错误)。例如,在Eclipse中,将是
    alt
    +
    shift
    +
    s
    ,然后是
    r

  • String
    参数添加到
    setProd
    setchema
    中,就像您使用
    setMfr
    所做的那样:

    public void setProd(String prod)  {
                          ^     ^
    


    谢谢。。我用的是Pojo班上其他的一些。。所以我没注意到。非常感谢。。这就解决了问题。。不幸的是,我使用的是vim编辑器,所以dint注意到了。再次感谢。@JK_-Jha然而,你还是在编译。我认为Eclipse只是将标准jdk警告可视化。