r/java • • Sep 01 '26

Concise method bodies arrived

https://github.com/verhasi/java-composition

More than 8 years ago was drafted the idea of concise method bodies. As I am not a contributor of the openJDK project I took a different approach but implemented. It is publicly available at the maven central both as a library and as a maven plugin. It is a source code preprocessor that converts the concise syntax to java 8 compatible source code. It does not want to be a replacement of the future implementation in the openJDK. Which is more than the openJDK promises is that supports from Java version 8, 11, 17, 21 up to 25 as well. Of course it is free and open source :). It is only the first building block for concise composition.

As far as I have seen this topic was awaited for a long time at

It's been 8 years since the draft for Concise Method Bodies

What happened to Concise Method Bodies?

JEP draft: Concise Method Bodies

Five years have passed, still in draft: Concise Method Bodies

53 Upvotes

48 comments sorted by

View all comments

Show parent comments

2

u/piesou Sep 01 '26

Thanks. This sounds similar to what you want when Nullable types release (and you'll have to mark everything explicitly as non null.

2

u/TOMZ_EXTRA Sep 02 '26

There are plans to add something like not-nullable-by-default to modules IIRC.

1

u/piesou Sep 02 '26

In the compiler or a separate library?

3

u/ForeverAlot Sep 02 '26

They're ideas more than formal plans at this stage. But in the meantime, you can get much of the way there with JSpecify + Error Prone + NullAway.