假设我有一个界面:
D-------S--------T-------U-------V--------AB
H/P/O O-State O-Zip D-State D-Zip AK Zips
-------- TN 37046 AK 99518 99901
-------- AK 99613 WA 98663 99928
-------- AZ 86004 AK 99613 99926
-------- GA 30507 AK 99518 99835
-------- AK 99518 NY 13676 99801
然后假设我有多个实现
interface MyInterface <T>;
我可以在不指定类型的情况下重用相同的接口变量吗?
所以说,
public class Imp1 implements MyInterface<Object>
public class Imp2 implements MyInterface<Object2>
反对必须这样做:
MyInterface var1 = new Imp1();
var1 = new Imp2();
或者我必须经常这样做/接受警告吗?
这就是我需要的。
我正在使用硒进行测试自动化。
我有一个表格的界面。这表示获取行的html表。接下来,我有类型方法返回等效的pojo对象。例如,汽车表将返回汽车对象。一个表可以在许多页面上使用,每个不同的页面可以返回不同的pojo对象。
答案 0 :(得分:1)
对于您的情况,您可以声明如下变量:
MyInterface<Object> var1 = new Imp1();
MyInterface<Object2> var2 = new Imp2();
根本没有必要处理警告。
如果您希望/需要在不提供泛型类型的情况下使用它,那么,使用具有原始类型的界面,您必须接受警告。
无论如何,你可以像这样使用@SupressWarnings
来压制警告。
@SupressWarnings("rawtypes")
void foo() {
MyInterface var1 = new Imp1();
}