我工作的代码库有一个名为 Pair 的对象,其中 A 和 B 是 Pair 中第一个和第二个值的类型。我觉得这个对象令人反感,因为它被用来代替具有明确命名成员的对象。所以我发现这个:
List<Pair<Integer, Integer>> productIds = blah();
// snip many lines and method calls
void doSomething(Pair<Integer, Integer> id) {
Integer productId = id.first();
Integer quantity = id.second();
}
代替
class ProductsOrdered {
int productId;
int quantityOrdered;
// accessor methods, etc
}
List<ProductsOrderded> productsOrdered = blah();
代码库中 Pair 的许多其他用途也同样难闻。
我用谷歌搜索了元组,它们似乎经常被误解或以可疑的方式使用。是否有令人信服的论据支持或反对使用它们?我可以理解不想创建巨大的类层次结构,但是如果不使用元组,是否存在类层次结构会爆炸的现实代码库?