Ordenar String's - RecordComparator [RESOLVIDO]

1 resposta
Y

Galera, pelo que percebi não há, para JME, método disponível para ordenar String’s, não é?

Eu implementei a interface RecordComparator para fazer a ordenação nos registros do RecordStore, entretanto, acredito que haja código mais "adequado" para se fazer isso, pois, embora o meu código funcione perfeitamente, eu o estou achando muito POG.

Vejam:

public int compare(byte[] rec1, byte[] rec2)
     {
      Client client1 = null;
      Client client2 = null;

      try
        {
         client1 = ClientsUtil.buildClient(-1, rec1);
         client2 = ClientsUtil.buildClient(-1, rec2);
         }
      catch(IOException e)
        { e.printStackTrace(); }

      char chars[] = new char[2];
      client1.getRazaoSocial().getChars(0, 1, chars, 0);
      client2.getRazaoSocial().getChars(0, 1, chars, 1);
      int values[] = { new Character(chars[0]), new Character(chars[1]) };

      if (values[0] &lt values[1])
        { return (RecordComparator.PRECEDES); }
      else if (values[0] &gt values[1])
        { return (RecordComparator.FOLLOWS); }
      else
        { return (RecordComparator.EQUIVALENT); }
     }

Quem já fez essa implementação e poderia me auxiliar?

Obrigado.

1 Resposta

Y

Reformulei e ficou assim:

public int compare(byte[] rec1, byte[] rec2)
     {
      Client client1 = ClientsUtil.buildClient(-1, rec1);
      Client client2 = ClientsUtil.buildClient(-1, rec2);

      int comparison = client1.getRazaoSocial().compareTo(client2.getRazaoSocial());

      if (comparison < 0)
        { return (RecordComparator.PRECEDES); }
      else if (comparison > 0)
        { return (RecordComparator.FOLLOWS); }
      else
        { return (RecordComparator.EQUIVALENT); }
     }
Criado 21 de maio de 2007
Ultima resposta 22 de mai. de 2007
Respostas 1
Participantes 1