作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常通用的重类(class),我正在测试解决问题的不同方法,这个类(class)在很多不同的地方使用,每次我更改类型参数的数量时,我必须在任何使用该类型的地方修复错误,即使我不使用那个类的通用性
public class HeavyGen<TYPE1, TYPE2, TYPE3, ETC>{...}
//now anywhere else i have to do either this and refactor my code at each
//change in the number of type parameters
public HeavyGen<?,?,?,?> func(){...}
//or this but @SupressWarning seem like a dirty fix
@SupressWarning
public HeavyGen func(){...}
HeavyGen
的类型参数的数量?而不必在不使用通用性的地方重构代码?
TypeBag<TYPE1,TYPE2,TYPE3,ETC>
然后使用 Container<BAG extends TypeBag>
,但它似乎不起作用 <CHILD extends Container> CHILD.Inner
),但 Java 似乎也不喜欢那样(我想得越多,我就越希望能够做到这一点:D)最佳答案
您可以简单地重命名您的 Container<...>
至 AbstractContainer<...>
并提取非泛型 Container
它的界面:
public interface Container {
// put non-generic methods here
}
public abstract class AbstractContainer<...> implements Container {
// put generic methods here
}
Container
无需携带泛型,实现可以扩展
AbstractContainer<...>
并且仍然能够使用/实现通用方法。
关于java - 有没有办法减少多个类型参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59283554/
我是一名优秀的程序员,十分优秀!