这是我的问题:我在 A 类中的函数:
public void setData(Map<String,? extends ArrayList<? extends SomeInterface>>){...}
我的电话:
Map<String, ArrayList<ImplementsSomeInterface>> a=...;
instanceOfA.setData(a); //does not compile
instanceOfA.setData((Map<String,? extends ArrayList<? extends SomeInterface>>) a); // works thanks to the Casting.
我不认为这很干净。有没有办法在不放弃函数中使用通配符的情况下避免强制转换?