我工作的代码库中有一个名为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的许多其他用途也同样令人不满。
我搜索了元组,它们似乎经常被误解或以可疑的方式使用。是否有支持或反对它们使用的有力论据?我可以理解不想创建庞大的类层次结构,但是否存在实际的代码库,如果不使用元组,则类层次结构会爆炸?
TryParse
方法。在这里,你需要返回一个bool
值(表示解析是否成功),以及一个int
值(如果解析成功则为该值)。为了允许第二个返回值,使用了out
关键字。我想用元组可能更好一些,但我不确定它是否比声明一个具有命名为ParseSuccessful
的bool
和命名为Value
的通用T
的类型更好。 - devuxerequal_range
返回一对迭代器。在C ++中的映射相当于pair <key,value>
集合。还有其他情况,但我现在想不起来了。 - rlbond