Java实用程序类

public final class SomeUtilityClass {
    public static final String SOME_CONSTANT = "Some constant";

    private SomeUtilityClass() {}

    public static Object someUtilityMethod(Object someParameter) {
        /* ... */

        return null;
    }
}

现在,随着接口中的静态方法在Java 8中,我最近发现自己使用了实用程序接口模式:

public interface SomeUtilityInterface {
    String SOME_CONSTANT = "Some constant";

    static Object someUtilityMethod(Object someParameter) {
        /* ... */

        return null;
    }
}

这允许我去掉构造函数,以及许多关键字(publicstaticfinal)是在接口中隐式的。

这种做法有什么坏处吗?在实用程序接口上使用实用程序类有什么好处吗?

小川小川提问于
风华一代paranoid android回答于

我觉得会管用的。变量SOME_CONSTANT默认为SomeUtilityInterface中的静态Final。

回答过的其他问题

怎样使用AI提升运维效率?

风华一代paranoid android
随着云计算的到来,云计算指的是通过网络和人工智能(AI)共享计算资源,现在业务形态正在彻底改变。” 人工智能,目前是主流,可以从大量数据中获得新的认可,人们无法通过深度学习来处理自己。深度学习是一种新的机器学习方法,可以根据数据本身独立创建特征值。这是机器学习的补充,它从收集的...... 展开详请

视频检测和处理领域的现状和前景怎么样?

风华一代paranoid android

视频处理会不会很慢。难以应用到实时场景?

腾讯云TStack上的云Oracle有哪些优点和应用?

风华一代paranoid android

成本低

单位容量成本(元/TB)是EMC高端存储的1/10;

整套成本是EMC存储方案的1/5

Kafka对实时数据的主要优势是什么?

风华一代paranoid android
Kafka是一个分布式发布 - 订阅消息传递系统,它是现有解决方案的快速,可扩展且持久的替代方案。 Kafka对于处理实时数据特别有用,例如与管理半卡车车队和工业HVAC单元相关的数据。 像大多数类似的系统一样,  Kafka跟上主题内的消息提要。生产者在主题中创建数据,消费者...... 展开详请

如何从Jackson ObjectMapper中获取JSON

如何在PySparkRDD中返回不同的集合?

风华一代paranoid android

转换成frozenset因为这些可以散列。然后你可以打电话给distinct as usual:

example.map(frozenset).distinct().map(set).collect()
# [{1}, {2}, {3}]

关于作者

所属标签

扫码关注云+社区