作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
只是想知道您是否能帮我解决我的问题。这可能是因为我不知道要搜索的正确关键字。
这不是作业,只是匿名...
我有一个接口(interface)和一堆实现类:
interface Fruit
Banana implements Fruit
Apple implements Fruit
....
我有一个 Fruit 实用程序类。在这个方法中,可以获取任何种类的水果并将其切片。
public static Fruit[] slice(Fruit f, int pieces)
如何将 Fruit 数组声明为与传递给方法的 Fruit 类型相同?
即我如何自动化:
Fruit[] a = new Apple[pieces];
如果我给它一个苹果?
.
编辑:澄清
我会有这样的代码:
Fruit a = new Apple();
Fruit b = new Banana();
Fruit[] slices1 = FruitUtil.slice(a, 3); //slices1 should be an Apple
Fruit[] slices2 = FruitUtil.slice(b, 3); //slices2 should be a Banana
Fruit newApple = FruitUtil.copy(a); //newApple should be an Apple
我如何编写 slice(Fruit f, int slice) 或 copy(Fruit f) 方法,以便创建与我在参数中传递的相同类型的 Fruit(不必为每种类型覆盖方法,或者做 instanceof 检查)
最佳答案
首先我建议放弃引用数组。请改用 List
。那么就比较简单了:
public static <T extends Fruit> List<T> slice(T fruit, int pieces)
关于java - 如何实例化(在方法内)实现相同接口(interface)的不同类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1371148/
所以我有这个 UltraTicTacToe 游戏,我正在用 HTML/CSS/JS 编码。它由表中表中的表组成。当您单击 X 或 O 时,我想要突出显示您应该进入的下一个 TicTacToe 牌 ta
Some text Some more text 如何让每个 .example 的 .whatever 包含其 .test 的内容? 例如,如果代码是这样的: Som
我是一名优秀的程序员,十分优秀!