Java é Linguagem ou Plataforma?
É possível voltar ao um .java um arquivo .class?
Diferença de == ou equals? Quando usar quem?
Java é casesensetive, mas em comparação de string também?
Obrigado…
Java é Linguagem ou Plataforma?
É possível voltar ao um .java um arquivo .class?
Diferença de == ou equals? Quando usar quem?
Java é casesensetive, mas em comparação de string também?
Obrigado…
olá javamail,
espero que ajude e espero que também esteja certo hahah:
P: Java é Linguagem ou Plataforma?
R: Os 2.
P: É possível voltar ao um .java um arquivo .class?
R: Sim é possível, por exemplo através de um decompiler.
P: Diferença de == ou equals? Quando usar quem?
R: Acho q esse link explica melhor que eu(eita preula eu não sei explicar(e talvez nem a diferença)hahah²!) http://javafree.uol.com.br/artigo/3932/Comparar-variaveis-==-ou-equals.html
http://www.guj.com.br/posts/list/66620.java
P: Java é casesensetive, mas em comparação de string também?
R: Sim.
Boa noite galera,
Sem nenhuma pretenção de estar 100%… só pra alimentar uma discussão saudavel.
Java é Linguagem ou Plataforma?
Na minha opinião é uma plataforma.
É possível voltar ao um .java um arquivo .class?
Sim, embora, o resultado pode não ser exatamente igual ao fonte original, as vezes até com um comportamento diferente do esperado.
Eu ja tive problema principalmente em clausulas “catch”.
Diferença de == ou equals? Quando usar quem?
Para comparação de String´s utilizar o equals, o == compara se os objetos são os mesmos e não se o conteudo deles esta igual.
No caso de tipos primitivos vc usa o ==.
Para cada classe é necessário verificar o funcionamento do equals, por exemplo, para ao comparar dois objetos Long o equals ira retornar true se o value dos dois for igual.
Java é casesensetive, mas em comparação de string também?
Sim.
As explicações estão meio curtas, mesmo porque meu conhecimento teórico não é dos melhores, assim, assim mais informações ou correções seriam muito bem vindas
[]s
No string o método equals é case sensitive. Porém a classe String já possui um método chamado equalsIgnoreCase, que faz o teste sem considerar maiúsculas e minúsculas.
Ainda é possível comparar strings desprezando acentuação, através da classe Collator:
http://www.guj.com.br/posts/list/48001.java#250910
Somos 2
concordo plenamente, tirando o fato q eu nem pesquisei ainda por ai hahaha
[quote]No string o método equals é case sensitive. Porém a classe String já possui um método chamado equalsIgnoreCase, que faz o teste sem considerar maiúsculas e minúsculas.
Ainda é possível comparar strings desprezando acentuação, através da classe Collator:
http://www.guj.com.br/posts/list/48001.java#250910[/quote]
uia! :shock: acho que eu nunca precisei usar mas é bom saber heheh
Segundo o wikipedia sim:
A palavra Java usualmente é uma referência a linguagem de programação Java, que é a primeira linguagem criada pela Sun Microsystems para a JVM. A segunda linguagem criada pela Sun Microsystems para a JVM é chamada de Groovy, uma linguagem mais dinâmica, inspirada em linguagens como Python, Ruby e Smalltalk. Também existem implementações para a linguagem Python, a Jython, e para a linguagem Ruby, a JRuby.
como eu ainda estou engatinhando heheh, só li algumas coisas a respeito de Python e RubyOnRails.
alguém ai com + exp p/ ajudar hehe?
A máquina virtual do java (JVM=Java Virtual Machine) é responsável por compilar código fonte em bytecodes (arquivos .class).
Estes bytecodes devem ser capazes de ser interpretados pela mesma JVM e executados.
Alguma coisa como abaixo
[quote]Código Fonte Java ==>> Compilado em bytecode pela JVM ==>> interpretado pela JVM
Código Fonte Ruby ==>Compilado em bytecode pela JVM ==>> interpretado pela JVM[/quote]
Só um detalhe. O Groovy não é uma linguagem criada pela Sun Microsystems.
É do desenvolvimento próprio do Laforge.
Quanto ao ==.
Use para:
Então, se você está comparando classes, provavelmente vai usar o equals. Não interessa se é String, Integer, Long, Double, vai usar equals.
Com ==, você está testando se os objetos são os mesmos. Dois objetos do tipo Integer podem conter o mesmo valor, mas serem objetos diferentes, por exemplo:
[code]Integer a = new Integer(10);
Integer b = new Integer(10);
Integer c = a;
System.out.println(a == b); //False. São objetos diferentes.
System.out.println(a.equals(b)); //True, tem o mesmo valor.
System.out.println(a == c); //True. a e c referem-se ao mesmo objeto.[/code]
No java, não existem exceções para essa regra.
Os enums, por exemplo, podem ser comparados com == pois representam um conjunto fixo de objetos.
Existe também o caso do auto-boxing (na comparação de um tipo primitivo int com o tipo Integer). Nesse caso, é importante entender a conversão que o java faz.
Esse código:
Integer a = 10;
int b = 10;
System.out.println(a == b); //imprime true
É convertido para isso:
Integer a = Integer.valueOf(10);
int b = 10;
System.out.println(a.intValue() == b); //imprime true
Essa questão de primitivo, em teoria o que seria um tipo primitivo e um tipo Objeto.?
Notei também que java não possui primitivo para string?
Então é possível programar em outra linguagem? e executar pela JVM?
Alguém?