我需要一些关于 Java 方法的建议,因为代表与 .NET 有点不同。我想创建一些具有相同名称和相同方法名称的接口,但唯一不同的是参数的数量。.NET 中的操作之类的东西
一些代码示例。
现在起作用的是像这样实现的抽象类。
public abstract class AbstractValidators {
public <T1> boolean isValid(T1 t1) {
return false;
}
public <T1,T2> boolean isValid(T1 t1, T2 t2) {
return false;
}
//And so one
}
然后在某些课程中,我们可以做这样的事情。
public class SomeClass {
AbstractValidators validateStrVsInter = new AbstractValidators() {
public <String,Integer> boolean isValid(String t1, Integer t2) { //Don't be fool by colors the String and Integer are only names of generic parameters
return true;
}
};
public void doStaff() {
this.validateStrVsInter.<String,Integer>isValid("String", 100); // return true;
}
}
这项工作但不是很好的解决方案恕我直言,我需要的是可以分配给一个的各种接口之类的东西。
public interface IValidator<T1> {
public boolean isValid(T1 t);
}
public interface IValidator<T1,T2> {
public boolean isValid(T1 t, T2 t2);
}
一些想法?
编辑:
目标是什么?
很简单有可能改变定义
isValid(String t1, Integer t2) { }
进入
isValid(String t1, Integer t2, Double t3) { }
并在调用中
validator.isValid("1",2);
至
validator.isValid("1",2, 3.0);
无需更改类导入等。