我想创建一个方法,其中必须传递 2 个或更多对象参数,并且必须来自同一个类。
对象 foo 和 bar 必须是同一类的成员。
public void method(Object foo, Object bar) {
}
我记得我以前见过这样的东西,但我不记得具体是怎么做到的。
public void method(Object<?> foo, Object<?> bar) {
}
最佳答案
我想你的意思是这样的:
public <T> void method(T foo, T bar) {
}
在这里,您定义了没有任何界限的通用类型 T
,并且要求参数都是 T
类型(或子类)。然后你可以这样调用它:
method("string1", "string2"); //ok
method(Integer.valueOf(1), Long.valueOf(1) ); //works, Compiler will infer T = Number
this.<Integer>method(Integer.valueOf(1), Long.valueOf(1) ); //You set T = Integer, so the compiler will complain
关于java - 2个对象参数必须来自同一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36595397/