O que esperar no J2SE 1.5

Quer saber o que os 40 e poucos megabytes baixados no site java.sun pode lhe oferecer?
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html

Jézus! Vou ter que aprender Java de novo! :smiley:

Foi a mesma impressão que eu tive.
Fico me perguntando. Isso tudo não é uma quebra de paradigma suficientemente grande para podermos chamar isso de J3SE?

Cara*#@!Meu Chapéu!!!Não sei mais Java…huahauha

eu adorei poder fazer isso aqui:

    System.out.printf("name count");
    System.out.printf("%s %5d", user,total);

:smiley:

Meu deus … java é complicado demais. Vou começar a estudar delphi

:mrgreen:

[quote=“marciolx”]eu adorei poder fazer isso aqui:

    System.out.printf("name count");
    System.out.printf("%s %5d", user,total);

:D[/quote]

POis é… As coisas estão me fazendo lembrar um pouco a sintaxe do C.

[code]
import static java.lang.System.out;

public class Foo{

public static void main(String[] args){
out.printf(“Olá, {0}!! Hoje é {1}”, user.getName(), today.getDate());
}

}[/code]

:stuck_out_tongue:

eu particularmente odiei os Statics imports, vai gerar muita confusão.

e tbm nao gostei os negocios como:
List<String> l = new ArrayList<String>();

isso eh meio estranho, se voce quer fazer uma funcao generica? como faz? teria que fazer algo como:
public List<retorno o q aqui> funcao(List<Object> lista);

ahh, vi um exemplo assim:
Integer i = 10; // conversao automatica
Integer i2 = 20; // conversao automatica

int resultado = i + i2;

seria uma sobrecarga de operadores? mas eu nao posso fazer isso nas minhas classes? so nestas pre-estabelidas?

Que tal assim?

[code]
public class SeiLa{

private ArrayList l = new ArrayList();

public SeiLa(){}

public List metodo(A args…){
//…
}

}[/code]

E usaria…

//...
SeiLa<Integer> s = new SeiLa<Integer>();
List<Integer> l = s.metodo(1, 2, 3, 4);

Eba … o JWS ficou mais legalzinho :stuck_out_tongue: … bem a tempo pro meu projeto, quer dizer, acho … quanto tempo depois do beta pra sair uma versão final? (nao acompanhei os outros betas).

Gosto muito do Autoboxing/Unboxing, Generics … mas o Enhanced for Loop não me convenceu, ficou meio feioso … prefiro iterar sobre as coleções mais didaticamente (pro leitor do código :roll: ), podiam então ter criado o foreach mesmo.

Que tal fazermos uma compilação dos melhores links da dita cuja? :smiley:

[]´s

Apesar do nome, Generic eh legal… Static imports sucks hein?!.. a sintaxe do “foreach” pessoalmente tambem nao me agrada, e a desculpa de querer evitar colocar mais uma keyword nao cola… no final das contas, o byte code gerado nao seria o mesmo em todos os casos?! :? nao eh taaao complexo assim assimilar uma coisinha a mais…

Apesar de tudo ( e apesar da Sun ser… a Sun ), ta ficando rulez :stuck_out_tongue:

Parece que o “booom” do .net fez o pessoal correr um pouquinho.

Rafael

Não gosto de autoboxing, pelo menos ficou me parecendo mais 1 gambiarra para resolver a iteração entre generics e tipos primitivos.

Mas sem dúvida alguma a coisa que mais vai alavancar novidades e melhorias é metadata, alem disso tempos agora umas APIs bem legais: util.concurrent, javax.manangement na j2se.

Aí vai o primeiro:
:arrow: http://java.sun.com/developer/technicalArticles/releases/j2se15/

Static import faz mto sentido. Eu gostei, pelo menos… vc quer ver de onde diabos veio uma variavel, vc ja vai automaticamente pro comeco do arquivo ou olha no outline view… e em ambos os casos, vc vai dar de cara com os imports, sem precisar fazer aquele truque de implementar uma interface soh com constantes :smiley:

Alem de finalmente acabar o nojinho que dava usar java.lang.Math :smiley:

Adicionar uma nova keyword na sintaxe quebra MUITO codigo legado que por acaso usava aquela palavra como identificador. Eh soh perguntar pro pessoal do JUnit se eles gostaram quando a Sun resolveu introduzir assert :wink:

[quote=“cv”]
Adicionar uma nova keyword na sintaxe quebra MUITO codigo legado que por acaso usava aquela palavra como identificador. Eh soh perguntar pro pessoal do JUnit se eles gostaram quando a Sun resolveu introduzir assert ;)[/quote]

É vero, fiz uma pesquisa rápida aqui no repositorio, find -name “*.java” -exec grep foreach {} ;, e achei varias ocorrencias, uma keyword nova seria péssimo, hehehe.

Hm, mas pq ter que ir ate la em cima qdo na proria linha vc poderia saber a classe? ler

Math.abs()

me parece melhor do que ler

abs()

O static import nao me livra da implementacao nao?! ou seja, eu ainda vou ter a interface/classe com os membros static, a unica diferenca eh que nao vai ser preciso explicitamente referenciar a classe… ou tem algo que eu nao vi?

Rafael

Isso ate da pra considerar…

O estranho vai ser se, no futuro, comecar cosias como "ah, a gente nao pode fazer certo pq senao alguns sistemas iram dar erro de compilacao… temos que manter a compatibildade com o java 1.1 ainda "…

Rafael

pô… num saquei coleh a de metadata veio…
Alguem faz um exemplozinho pratico preu entender por favor ?

Há um exemplo de cada nova funcinolidade aqui:
http://java.sun.com/developer/technicalArticles/releases/j2se15/

Eu tambem não saquei muito esse metadata… mas tambem, ainda nem li o exemplo direito.

Até.