如何创建动态包装器?

时间:2015-02-05 09:45:59

标签: java wrapper dynamic-programming dynamic-proxy

在我的程序的某些部分,我需要在我的类之间传递一组对象(也是一些原始类型)。

对于每个新组合,我必须创建一个非常“愚蠢”的包装类,它只包含两个或三个字段。 (int,String或今天我有一个int,String,Date)。

它们包含的是一个空的和一个完整的构造函数,每个字段都有它的getter / setter。 我遇到了Java动态代理,这被认为是我的问题的解决方案。它似乎令人印象深刻且强大 - 我可以找到一些奇特的例子,如何控制机器人或获取bean中的更改,但我原来的目的只是为了在两个类之间传输一个简单的包装器对象。

是否有针对此类问题的教程?

1 个答案:

答案 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);