一个简单的问题。这样的方法好吗?

private NavigableMap<Double, Site> m_sites;

private Site getRandomSite()
{
    return m_sites.ceilingEntry(Math.random()).getValue();
}

还是不好,因为它是一个吸气剂,您可以期望它会返回字段“randomSite”?

最佳答案

该方法很好,尽管我可以理解您不希望将其称为getRandomSite(),因为它看起来像一个getter方法。基于Gio的答案,我建议您调用方法fetchRandomSite(),因为正如您所说的,此方法不会生成随机站点,它只是从NavigableMap中选择(或获取)它。

09-25 22:23