我有一个重载保存方法的服务。但问题是,当我想用4个变量调用这个方法时,它会产生编译错误。
Incompatible type: String cannnot be converted to Task
有没有办法在不改变方法名称的情况下调用第一个保存方法?
public void save(String message, Object... os) {//first save
adapter.save(formatMessage(message), os);
}
public void save(String username, Task task, String message, Throwable ex) {//second save
adapter.save(formatMessage(username, task, message));
}
我打电话给4个变量;
myService.save("test", request.getMethod(), request.getRequestURI(),
Integer.valueOf(request.getContentLength()));
答案 0 :(得分:0)
我认为你的两种方法做了两件不同的事情;略有不同,但不同。因此:您可以考虑在此处使用不同的名称!
请记住,不应轻易使用重载,并且您提供的示例不会从中受益。
除此之外:你一定要看看你的“命名”;正如os
确实说的那样......没有关于这些论点。从代码质量的角度来看,我想知道它是否会好得多:
public void saveRequestDetails(String message, Request request) {
而不是你现在正在做的事情。