在我的程序的某些部分,我需要在我的类之间传递一组对象(也是一些原始类型)。
对于每个新组合,我必须创建一个非常“愚蠢”的包装类,它只包含两个或三个字段。 (int,String或今天我有一个int,String,Date)。
它们包含的是一个空的和一个完整的构造函数,每个字段都有它的getter / setter。 我遇到了Java动态代理,这被认为是我的问题的解决方案。它似乎令人印象深刻且强大 - 我可以找到一些奇特的例子,如何控制机器人或获取bean中的更改,但我原来的目的只是为了在两个类之间传输一个简单的包装器对象。
是否有针对此类问题的教程?
答案 0 :(得分:2)
正如我在评论中提到的,考虑使用泛型。
您需要拥有包含两种自定义类型的对象, 我们走了:
class Pair<F,S> {
private F first;
private S second;
Pair(F first, S second){
this.first = first;
this.second= second;
}
public F getFirst(){
return first;
}
public S getSecond(){
return second;
}
}
如何使用它?这很简单,Pair<String,Integer> pair1 = new Pair<>("This is One",1);