如何创建动态包装器?
How to create a dynamic Wrapper?
在我的程序的某些部分,我需要在我的 classes 之间传递一组对象(也是一些原始类型)。
对于每个新组合,我都必须创建一个漂亮的 "stupid" 包装器-class,它只包含两个或三个字段。 (整数、字符串或今天我有一个整数、字符串、日期)。
它们只包含一个空的和一个完整的构造函数,每个字段都有其 getter/setter。
我遇到了 Java 动态代理,它被称赞为我的问题的解决方案。它看起来令人印象深刻且强大 - 我可以找到一些奇特的示例如何控制机器人或获取 bean 中的更改,但对于我最初的目的来说并没有什么,只是在两个 classes 之间传输一个简单的包装器对象。
这种问题有教程吗?
正如我在评论中提到的,考虑使用泛型。
您需要拥有包含两种自定义类型的对象,
我们开始了:
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);
在我的程序的某些部分,我需要在我的 classes 之间传递一组对象(也是一些原始类型)。
对于每个新组合,我都必须创建一个漂亮的 "stupid" 包装器-class,它只包含两个或三个字段。 (整数、字符串或今天我有一个整数、字符串、日期)。
它们只包含一个空的和一个完整的构造函数,每个字段都有其 getter/setter。 我遇到了 Java 动态代理,它被称赞为我的问题的解决方案。它看起来令人印象深刻且强大 - 我可以找到一些奇特的示例如何控制机器人或获取 bean 中的更改,但对于我最初的目的来说并没有什么,只是在两个 classes 之间传输一个简单的包装器对象。
这种问题有教程吗?
正如我在评论中提到的,考虑使用泛型。
您需要拥有包含两种自定义类型的对象, 我们开始了:
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);