Java 编译错误"method setSchema in class MpsPojo cannot be applied to given types;"



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

我有一个 POJO 类定义为:

姆普斯波乔.java

    public class MpsPojo {
   private String mfr;
   private String prod;
   private String sche;

   public String getMfr() {
      return mfr;
   }
   public void setMfr(String mfr) {
      this.mfr = mfr;
   }
   public String getProd() {
        return prod;
   }
   public void setProd()  {
        this.prod = prod;
   }
   public String getSchema()   {
        return sche;
   }
   public void setSchema()   {
        this.sche = sche;
   }
}

我有第二个业务逻辑::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;
    }
    }

和最后一类,测试类是:: 最终逻辑.java

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 中,这给了我编译错误错误method setSchema in class MpsPojo cannot be applied to given types;

但是当我mpspojon.setProd("p1");mpspojon.setSchema("sch1");注释行时,这工作正常,没有错误。

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

谢谢

String参数添加到setProdsetSchema,就像您已经对setMfr所做的那样:

public void setProd(String prod)  {
                      ^     ^

public void setSchema(String sche) { 
                       ^      ^
setSchema()

声明中不接收任何参数。将其更改为:

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

setProd也是如此

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

  1. 查看您将收到的警告(在没有参数方法的情况下,赋值this.sche = sche将给出警告The assignment to variable thing has no effect)。
  2. 自动生成 setter/getter,不要自己编写代码(从而避免任何可能的打字错误)。 例如,在Eclipse中,这将是alt + shift + s ,然后r

相关内容

最新更新