poxa Daniel, ta complicada a situacao ai.
[quote=danieldestro]Parabéns! Alguns desenvolvedores me surpreendem cada dia mais.
…
E para quem não entendeu a “piada”:Relatorio rel = lookup(jndi);
List<Item> lista = rel.gerarRelatorio(cod); // era só isso
[/quote]
Eu acho que o salario do cara que escreveu isso é por quantidade de linha escrita. :shock:
Para enriquecer nosso acervo:
[code]/**
- Método que corrige a descrição da situação.
- @param listaItens List(Item)
-
@return String - descrição
*/
public String situacao(List itens) {
for (Item item: itens) {
if (item.getSituacao().equalsIgnoreCase(“Pendente”)) {
return “Pendente”;
}
}
for (Item item: itens) {
if (item.getSituacao().equalsIgnoreCase(“Recusado”)) {
return “Recusado”;
}
}
return “Liberado”;
}[/code]
Super Hiper Ultra Puxa!
uhauhauhauhauhauhauhauh em um projeto que o louds trab e eu dei manutenção anos depois tinha lá um Welcome to ClassLoader from Hell no comentário uhauhauhauha o louds queria morrer com a pessoa que tava programando junto com ele uhauhauhauhauha :lol:
É assim que se faz construtor:
[code]public class Caraca {
public Caraca (List atributos) {
this.setCod((Long)atributos.get(0));
this.setData((Date)atributos.get(1));
this.setLocal((String)atributos.get(2));
this.setValor((Double)atributos.get(3));
this.setDescricao((String)atributos.get(4));
}
// atributos, getters e setters
}[/code]
O que um “desenvolvedor” deste tem na cabeça?
E tem gente que acha que certificação Java não vale nada. Eu acredito que ajuda a aumentar o nível de conhecimento e qualidade de quem estuda para a prova. Pelo menos isso (talvez) não aconteceria:
if ( codigo.equals(new Long(0)) ) {
// ...
}
Qual a dificuldade de fazer algo tão simples como:
if( codigo == 0L ) {
// ...
}
???
[quote=danieldestro]E tem gente que acha que certificação Java não vale nada. Eu acredito que ajuda a aumentar o nível de conhecimento e qualidade de quem estuda para a prova. Pelo menos isso (talvez) não aconteceria:
if ( codigo.equals(new Long(0)) ) {
// ...
}
Qual a dificuldade de fazer algo tão simples como:
if( codigo == 0L ) {
// ...
}
???[/quote]
Mas se a variável codigo for uma String, o código não estaria correto?
:roll:
[quote=danieldestro]
Qual a dificuldade de fazer algo tão simples como:
if( codigo == 0L ) {
// ...
}
???[/quote]
Vai que o cara tirou certificação de Java 1.4, aí ele não saberia disto…hehe
[quote=Yky Mattshawn]Mas se a variável codigo for uma String, o código não estaria correto?
:roll: [/quote]
Absolutamente não, como você quer comparar uma String com um objeto Long?
Vi esses dias isso, simples e direto:
if(false){
//código aqui(sim, código!)
}else{
//mais código
}
[quote=Rafael Nunes][quote=Yky Mattshawn]Mas se a variável codigo for uma String, o código não estaria correto?
:roll: [/quote]
Absolutamente não, como você quer comparar uma String com um objeto Long?[/quote]
Ah, pois é, falei besteira, o equals da String compara só se o objeto passado também for uma String, achei que comparava com o toString() de qualquer parâmetro.
Mesmo assim, acredito que numa situação específica o código fosse aceitável, visto:
System.out.println((new Long(0)) == (new Long(0))); // false
System.out.println((new Long(0)) == 0L); // true
Se o código foi escrito antes do Java 1.5 (com auto boxing/unboxing), um equals seria a maneira correta para comparar os dois objetos (levando em conta que, numa circunstância específica, ele “precisa” usar Long e não tipos primitivos).
[quote=Yky Mattshawn]System.out.println((new Long(0)) == (new Long(0))); // false
System.out.println((new Long(0)) == 0L); // true
[/quote]
Não vejo porque alguém faria isso, a não ser em exemplo de exercício para aprender Java.
Info: o projeto nasceu no Java 5.
E mesmo no Java 1.4, por boa prática:
if( codigo.longValue() == 0L ) {}
Oque acha???
Não seria melhor isso?
if (codigo.equals(0L))
[quote=Schuenemann]Não seria melhor isso?
if (codigo.equals(0L))
[/quote]
No java 1.4< isso não funciona. E no Java 5 por que não utilizar boxing? ‘codigo == 0L’
E contriibuindo:
metodoProcedural(){
transacao1.begin();
transacao1.setAutoCommit(false);
transacao1.insert();
transacao2.begin();
transacao2.select(); //select dos dados da transacao1
transacao2.close();
transacao1.commit();
transacao1.close();
}
}
[quote=danieldestro][quote=Yky Mattshawn]System.out.println((new Long(0)) == (new Long(0))); // false
System.out.println((new Long(0)) == 0L); // true
[/quote]
Não vejo porque alguém faria isso, a não ser em exemplo de exercício para aprender Java.
Info: o projeto nasceu no Java 5.
E mesmo no Java 1.4, por boa prática:
if( codigo.longValue() == 0L ) {}
Oque acha???[/quote]
Concordo contigo. Entretanto, insisto: o que eu tentei dizer é que o código apresentado, num projeto Java 1.4, seria aceitável. Ou seja, o cara pode não ter feito o que é mais indicado (de acordo contigo, não seguiu as “boas práticas”), ainda assim, o código dele está “correto”, o que não quer dizer que seja o que todos devem fazer.
O que penso, em conclusão: o código não está errado.
Verdade, não há problema com literais.
É que recentemente tive problema com um código do tipo:
if (ap1.getId() == ap2.getId())
E isso só funcionava para valores dentro do cache.
Também contribuindo:
boolean preto;
//(código)
if (preto = !preto) { ... }
Isso mesmo, o cara fez a atribuição no próprio if (e não foi sem querer).
[quote=Yky Mattshawn]Concordo contigo. Entretanto, insisto: o que eu tentei dizer é que o código apresentado, num projeto Java 1.4, seria aceitável. Ou seja, o cara pode não ter feito o que é mais indicado (de acordo contigo, não seguiu as “boas práticas”), ainda assim, o código dele está “correto”, o que não quer dizer que seja o que todos devem fazer.
O que penso, em conclusão: o código não está errado.[/quote]
Correto? Bem… fazer uma coisa com um código menos legível, menos claro e menos performático, do que uma outra solução mais adequada, pra mim não significa estar “correto”.
Fazer de qualquer jeito, ou fazer com qualidade?
[quote=danieldestro]Correto? Bem… fazer uma coisa com um código menos legível, menos claro e menos performático, do que uma outra solução mais adequada, pra mim não significa estar “correto”.
Fazer de qualquer jeito, ou fazer com qualidade?[/quote]
Afff, tu está fazendo uma tempestade em um copo d’água, cara.
Abstenho-me de continuar.
Para um efetivo tratamento de exceções:
private Object lookup(String jndi) throws NamingException, ServiceLocatorException {
try {
return ServiceLocator.getInstance().getEJB(jndi);
} catch (ServiceLocatorException e) {
throw new ServiceLocatorException(e);
}
}
[code]/**
* Formata a data
* Formato “MMMAA”(JAN08)
*
* @return String
*/
public String getData() {
String formato = "MMM/yy";
SimpleDateFormat sdf = new SimpleDateFormat(formato);
return removeChar(sdf.format(new Date()), '/').toUpperCase();
}
/**
* Remove o caracter desejado de uma String
*
* @param str
* @return
*/
private String removeChar(String str, char c) {
String aux = "";
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i) != c)
aux += str.charAt(i);
}
return aux;
}[/code]
Sugestão
public String getData() {
SimpleDateFormat sdf = new SimpleDateFormat("MMMyy");
return sdf.format(new Date()).toUpperCase();
}