
Encontrei em um blog que Dan Dyer, da Sun falou algumas novidades que podemos esperar da nova JDK, a versão 7, baseando-se no blog de Joseph D. Darcy.Sendo duas vezes mais veloz que a versão 6.
As mudanças na linguagem são delicadas, pois devem trazer facilidades e melhorias no código sem deixar Java perder uma de suas maiores características: Facilidade de leitura.
Vamos as propostas aceitas do projeto Coin.
Simplificação de genéricos:
Hoje fazemos assim:
Map, List> numberMap = new TreeMap, List();
Na JDK 7 você poderá omitir os genéricos no momento que instanciar:
Map, List> numberMap = new TreeMap<>();
Literais na inicialização de Collections:
Sim, na JDK 7 será possível usar valores literais para inicializar algumas Collections, como o Map e as Lists:
List powersOf2 = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024};
Map ages = {“John” : 35, “Mary” : 28, “Steve” : 42};
Isso deve facilitar o desenvolvimento e melhorar a visibilidade do código.
Gerenciamento automático de recurso:
Uma modificação impactante é a possibilidade de que recursos sejam eliminados após execução de um determinado bloco. Blocos try/catch/finally habilitaram a criação de recursos no início do bloco, sendo que estes serão removidos no final do etapa de tratamento de exceção. O exemplo abaixo está no proposto:
static String readFirstLineFromFile2(String path) throws IOException
{
try (BufferedReader reader = new BufferedReader(new FileReader(path))
{
return reader.readLine();
}
}
Propostas recusadas
Algumas propostas de mudanças não foram para a JDK 7, entre elas, a propostas da melhoria do tratamento de exceção. Algumas pessoas chegaram a lamentar quanto a isso em comentários no blog de Darcy, onde as propostas de mudanças foram divulgadas.
Outras mudanças
Existem outras mudanças que já foram aprovadas como Strings em comandos Switch e uso de literais binárias.