Ao tentar ordenar um ArrayList de objetos por um campo do tipo String, percebi que os textos acentuados não eram corretamente ordenados. A explicação para este fato é o seguinte: na linguagem Java, a ordenação de um texto varia de acordo com o Locale (idioma).
Como o default do Locale é o idioma inglês, onde quase nenhum caractere acentuado existe, as letras acentuadas não são equiparados às respectivas letras sem acento. Desta maneira, como caracteres acentuados têm códigos numéricos superiores aos sem acento, acabam indo parar no final da listagem ordenada.
Para demonstrar a solução deste problema, segue abaixo código fonte que ordena listagem de clientes pelo nome. A classe Cliente possui os atributos privados codigo e nome, além de seus respectivos métodos de acesso. Ela implementa a interface Comparable sobrescrevendo o metodo compareTo que realiza a ordenação comparando o atributo nome de duas instâncias da classe Cliente.
I did a research about Brain Computer Interfaces in my english course. This tecnology caught my attention because we always see themes like thought control and mind power in the movies.
But we can realy establish a trustful communication between electric signals from the brain and bits from a computer? I can’t assert, but after study this subject I’ve been asked to myself “It’s Science Fiction Becoming Reality?”.
O Composite é um padrão estrutural que compartilha objetos em estruturas de árvore para representar hierarquias parte-todo, permitindo que clientes tratem objetos individuais e composições de objetos uniformemente. Ele é utilizado para aplicações que desejam ignorar a diferença entre composição de objetos e objetos individuais.
Um exemplo de problema solucionado pelo Composite é o seguinte: um congresso inscreve participantes que podem ser um indivíduo ou uma instituição, e cada indivíduo tem um assento no congresso.
Segue abaixo o diagrama de classes e o código fonte que demonstram a implementação do padrão como solução.
Diagrama de Classes utilizando o padrão Composite como solução
O Desenvolvimento Guiado Por Funcionalidades (FDD) é uma metodologia ágil para o processo de engenharia de software, elaborado com foco na entrega freqüente de “software funcionando” para os clientes e na utilização de boas práticas durante o ciclo de seu desenvolvimento.
Criado em 1997 num grande projeto de sistema de empréstimos em Java para o banco United Overseas Bank, em Singapura. União entre a experiência de análise e modelagem orientadas por objetos de Peter Coad, e o gerencimento de projetos de Jeff De Luca.
Depois de terminar a faculdade com brilhantismo, Chris McCandless, jovem americano saudável e de família rica, doa todo o dinheiro que tem, abandona o carro e a maioria de seus pertences, adota outro nome e some na estrada, sem nunca mais dar notícias aos pais. Dois anos depois, aparece morto num lugar ermo e gelado no Alasca.
Para quem tem Insônia, baixe o filme Atividade Paranormal (não vale o ingresso). Dormi bonito. Como ele foi parar nos cinemas? É muito ruim. 4 days ago
Desde a era do super nitendo sem vídeo game, comprei um PS II. Começando com PES 2010, Burnout e Metal Gear. Aceito recomendações de jogos. 1 week ago
Final da 4ª Temporada de Dexter foi foda. Roteiristas são muito bons. Espero que ganhe algo no Globo de Ouro. - http://tinyurl.com/yf7pe8c1 week ago