Language 入门

直接在接口中添加静态工具方法,而非单独的工具类。

✕ Java 7
// Separate utility class needed
public class ValidatorUtils {
    public static boolean isBlank(
        String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (ValidatorUtils.isBlank(input)) { ... }
✓ Java 8+
public interface Validator {
    boolean validate(String s);

    static boolean isBlank(String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (Validator.isBlank(input)) { ... }
发现此代码有问题? 告诉我们。
📦

更好的组织

将相关工具方法与接口放在一起,而非单独的类中。

🔍

可发现性

工厂和辅助方法在您期望的地方找到。

🧩

API 内聚性

无需单独的 *Utils 或 *Helper 类。

旧方式
工具类
现代方式
接口静态方法
自 JDK
8
难度
入门
接口中的静态方法
可用

自 JDK 8 起可用(2014 年 3 月)

Java 8 之前,与接口相关的工具方法必须放在配套的工具类中。接口上的静态方法将相关 API 聚合在一起。

分享 𝕏 🦋 in