我有一段代码,它以二分图作为输入,并返回一个键为“1”的映射,其值是“集合1中的节点”的列表,以及键为“2”的映射,其值是“集合2中的节点”的列表。现在,这个映射是可变的。理论上,我应该使用防御性复制来返回映射。但是,在这种情况下,真的需要吗?这似乎过度了。
class BiPartite {
Graph graph;
Map bipartite
Bipartite(graph) {
this.graph = graph;
}
void calcBipartite() {
// calculate map
}
Map getMap() {
// should i make defensive copy ? Appears overkill.
}
}
Graph
,则调用者已经可以访问此对象的内部值。 - jpmc26