相关疑难解决方法(0)

具有多个类的Java泛型通配符

我想要一个Class对象,但我想强制它所代表的任何类来扩展A类并实现接口B.

我可以:

Class<? extends ClassA>
Run Code Online (Sandbox Code Playgroud)

要么:

Class<? extends InterfaceB>
Run Code Online (Sandbox Code Playgroud)

但我不能两者兼顾.有没有办法做到这一点?

java generics class bounded-wildcard

369
推荐指数
2
解决办法
14万
查看次数

如何用相同的方法"包装"两个类?

我必须使用相同的方法处理两个类,但它们不实现相同的接口,也不扩展相同的超类.我不能/不允许更改这个类,我不构造这个类的实例我只得到这个对象.避免大量代码重复的最佳方法是什么?

其中一个类:

package faa;

public class SomethingA {

    private String valueOne = null;
    private String valueTwo = null;

    public String getValueOne() { return valueOne; }
    public void setValueOne(String valueOne) { this.valueOne = valueOne; }

    public String getValueTwo() { return valueTwo; }
    public void setValueTwo(String valueTwo) { this.valueTwo = valueTwo; }
}
Run Code Online (Sandbox Code Playgroud)

和另外一个...

package foo;

public class SomethingB {

    private String valueOne;
    private String valueTwo;

    public String getValueOne() { return valueOne; }
    public void setValueOne(String valueOne) { this.valueOne = valueOne; } …
Run Code Online (Sandbox Code Playgroud)

java oop design-patterns

8
推荐指数
1
解决办法
2843
查看次数

标签 统计

java ×2

bounded-wildcard ×1

class ×1

design-patterns ×1

generics ×1

oop ×1