请参阅我的博客文章,摘自Java Posse #386 - 2012年5月31日的新闻广播,该广播扩展了此主题。
JSR 308 是否将按契约设计推广到 Java?它离断言更进一步?它什么时候会成为JDK的一部分?
何时计划作为 JDK 的一部分发布?
参见 你使用断言吗?
JSR 308 与合约无关。相反,它扩展了 Java 类型系统,以便您可以根据基本类型的使用上下文修改基本类型。检查器框架提供了一些很好的例子,说明可以使用类型注释做什么。我相信你可以以某种方式颠覆它以将其转换为合约,但你仍然必须添加一个自定义处理器,将注释编译成代码,而不仅仅是通过类型检查器传递它们。
目前计划包含在Java 8中。但这仍然可以改变。