C# para java

3 respostas
J

Pessoal, particularmente ja trabalho com c# a mais de um ano, agora estou no mundo do java.
Acredito não ter muito dificuldades para java pois ja domino OOP, preciso entender as particularidades do java.
Já entendi melhor sobre as exceções, agora tenho algumas dúvidas mais direta

  • Package e namespace são a mesma coisa?
  • Por que o povo usa o “br.com” nos pacotes?
  • Diferença de usar int para Integer e string para String
  • Diferença de while para do while
  • E o Enhanced for?

Quem me ajuda com qualquer questão já agradeço, obrigado a todos;;

3 Respostas

ViniGodoy

Sim, o conceito é o mesmo. Mas veja os modificadores de acesso do java, pois eles são bastante permissivos quando o assunto é classes de mesmo pacote.

Para garantir que seu pacote será único, a Sun recomenda que você prefixe seus pacotes com o domínio do seu site ao contrário. Assim não há risco de duas bibliotecas diferentes terem pacotes com nomes coincidentes. No caso do guj seria:
br.com.guj.xxxx

Com letras maiúsculas representa as classes wrapper de tipos primitivo. Com letra minúsculas os tipos primitivos em si.
O wrapper é simplesmente uma classe que contém o tipo primitivo em questão dentro. Isso é usado para quando vc tem uma classe que só aceita objetos em seu interior (como List) e você gostaria de passar um tipo primitivo.

Operações matemáticas são lentas usando wrappers. E o wrapper ocupa mais memória que um tipo primitivo comum.

A partir do Java 5, o java faz o box e unboxing do tipo primitivo automaticamente.

No .net, o equivalente aos wrappers seria quando você usa uma ? após o nome do tipo primitivo. E então a variável passa a aceitar null.

No Java não existe o tipo primitivo string, com letra minúscula.

São equivalentes ao do C#.

Equivalente ao foreach do C#.

Em c#:

foreach (string str in lista)

Em Java

for (String str : lista)
J

Você programa em ambas né?
Para você qual a mais “complicada”?

ViniGodoy

javamail:
Você programa em ambas né?
Para você qual a mais “complicada”?

Sim, programo nas duas.

Depende muito do que você chama de complicado.

É um pouco mais complicado aprender C# por ter mais recurso: LinQ queries, sobrecarga de operadores, propriedades, extension methods, etc. Por outro lado, depois de aprendidos, esses recursos deixam a sintaxe muito mais simples e natural.

As APIs do Java costumam a ser mais simples de usar e mais consistentes.

Criado 17 de maio de 2010
Ultima resposta 17 de mai. de 2010
Respostas 3
Participantes 2