Oracle Drops Collection Literals in JDK 8

In a posting on the OpenJDK JEP 186 Oracle’s Brian Goetz informs that Oracle will not be pursuing collection literals as a language feature in JDK8.

'N collection literal is a syntactic expression form that evaluates to an aggregate type as an array, List or Map. Project Coin proposed collection literals, which also complements the library additions in Java SE8. The assumption was that collection literals would increase productivity, code readability, and code safety.

As an alternative Oracle suggests a library-based proposal based on the concept of static methods on interfaces. The Implementation would ideally be via new dedicated immutable classes.

Following are the major points behind this library-based approach.

  • The basic solution of this feature works only for Sets, Lists and Maps so it is not very satisfying or popular. The advanced solution to cover an extensible set of other collection types is open-ended, messy, en feitlik gewaarborg om plek te oorrompel sy ontwerp begroting.
  • Die biblioteek gebaseer veranderinge sal die grootste deel van die vereiste vir die verwyder “versameling vasgekodeerde” verander bespreek in Projek Coin.
  • Die biblioteek benadering gee X% van die voordeel vir 1% van die koste, waar X >> 1.
  • Die tipes waarde kom en die gedrag van hierdie nuwe funksie (versameling vasgekodeerde) met die tipes waarde is nie bekend. Dit is beter om nie te versameling letterlike probeer voor die tipes waarde.
  • Dit is beter daaraan toe te fokus Oracle se taal-ontwerp bandwydte op die aanspreek van basiese vraagstukke onderliggend aan 'n biblioteek gebaseer weergawe. Dit sluit in meer doeltreffende varargs, verskeidenheid konstantes in die konstante swembad, onveranderlike skikkings, en ondersteuning vir caching (en herwinning onder druk) intermediêre onveranderlike resultate.

Volgens Oracle se Brian Goetz, die werklike pyn is in Maps nie Lists, Sets or Arrays. The library-based solutions are more acceptable for Lists, Sets and Arrays. But this approach still lacks a reasonable way to describe pair literals as Maps. The Static methods in an interface make the library-based solution more practical. The value types make library-based solutions for Map far more practical too. The proof of concept patch for the library-based solution is also available.

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share