0

我需要一些关于 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);

无需更改类导入等。

4

2 回答 2

0

你知道你可以创建一个接口来实现多个其他接口,本质上是加入它们吗?

于 2010-10-27T14:40:16.890 回答
0

在接口的实现中使用包名。

public class interfaces implements package.a.IValidator, package.b.IValidator
于 2010-10-27T14:42:28.203 回答