嗨,我看到了与此相关的一些相关问题,但没有找到任何切中要害的解决方案。
我有一个 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
参数添加到setProd
并setSchema
,就像您已经对setMfr
所做的那样:
public void setProd(String prod) {
^ ^
和
public void setSchema(String sche) {
^ ^
setSchema()
在声明中不接收任何参数。将其更改为:
public void setSchema(String sche) {
this.sche = sche;
}
setProd
也是如此
如果您使用任何 IDE,我建议您:
- 查看您将收到的警告(在没有参数方法的情况下,赋值
this.sche = sche
将给出警告The assignment to variable thing has no effect
)。 - 自动生成 setter/getter,不要自己编写代码(从而避免任何可能的打字错误)。 例如,在Eclipse中,这将是
alt
+shift
+s
,然后r