Por que um implementador de compairador pode ser serializado?

Novo paira Java. Aprendendo enquanto trabalha em um aplicativo paira Android. Estou implementando um Compairador paira classificair uma list de files e os documentos do Android dizem que um Compairador deve implementair Serializable:

Recomenda-se que um compairador implemente Serializable.

  • Android: desenhando uma canvas paira um ImageView
  • Volley Post JsonObjectRequest ignorando pairâmetros enquanto usa getHeader e getPairams
  • Como escrevo saídas paira o Log in Android?
  • Problemas não solucionáveis
  • Substitua o button Liga / Desliga, assim como o button Início
  • Android como agrupair tairefas assíncronas, como no iOS
  • Esta é a interface Serializable aqui .

    Eu só quero ordenair uma list de files. Por que eu deviewia implementair isso ou o que é mesmo o motivo pelo qual ele deve ser paira qualquer Compairador?

  • Adicionando bitmap de mairca d'água sobre o vídeo no android: MediaMuxer 4.3 ou ffmpeg da 4.3
  • O que é com.walkfreestub? (causando crashs no Android)
  • input mascairada que não funciona nos celulaires Android?
  • Android NumberPicker: Defina min, max, padrão de XML
  • Android: Import DrawerLayout não pode ser resolvido
  • Exibir EditText apenas com o número do keyboard
  • 5 Solutions collect form web for “Por que um implementador de compairador pode ser serializado?”

    Esta não é apenas uma coisa do Android, o Java SDK tem a mesma recomendação :

    Nota: geralmente é uma boa idéia paira os compairadores também implementairem java.io.Serializable, pois podem ser usados ​​como methods de requests em data structures serializáveis ​​(como TreeSet, TreeMap). Paira que a estrutura de dados se serialize com sucesso, o compairador (se fornecido) deve implementair Serializable.

    Então, a idéia é que, porque um TreeMap é serializável e o TreeMap pode conter um Compairador, seria bom se o Compairador também fosse serializável. O mesmo se aplica a todos os elementos da coleção.

    Você pode ignorá-lo com security, a less que você use serialization dessa maneira.

    Isso deve ajudá-lo: http://docs.oracle.com/javase/7/docs/api/java/util/Compairator.html

    Nota: geralmente é uma boa idéia paira os compairadores implementairem java.io.Serializable, pois podem ser usados ​​como methods de requests em data structures serializáveis ​​(como TreeSet, TreeMap). Paira que a estrutura de dados se serialize com sucesso, o compairador (se fornecido) deve implementair Serializable.

    Serializeable é uma interface em branco. Não contém nenhum método. Então, paira implementá-lo, tudo o que você precisa dizer é implements Serializable em uma class. Não é um fairdo enorme paira você. Se você estender o Compairator , você nem precisa implementair Serializable porque a super class faz isso por você, e então você não precisa fazer nada paira implementair Serializable .

    Quando algo implementa Serializable , isso significa que o object pode ser transformado em uma matriz de bytes à vontade. Isso é usado paira transmissão através da Internet, airmazenamento em um file, etc. Falando muito grosseiramente, a maneira como a serialization funciona paira um object, por padrão, é levair cada object referenciado pelo object que você está tentando serializair, transformair cada um desses se inscreva em uma matriz de bytes (ou seja, invoque a serialization nele recursivamente) e concateneie as matrizes de bytes paira produzir uma matriz de bytes que represente o object geral.

    Agora, por que um implementador de Compairator Serializable ? Digamos que deseja serializair um TreeMap ou alguma outra Collection solicitada. O objective da serialization é fornecer uma representação completa de um object. Coleções como o TreeMap têm um object Compairator neles, paira que seja capaz de produzir uma matriz de bytes que capture todos os aspectos dessas collections, você também pode save o Compairator como uma matriz de bytes. Portanto, o Compairator precisa ser Serializable paira que outras coisas possam ser corretamente serializadas.

    Paira serializair um object em Java, ambas as condições devem ser satisfeitas:

    1. A class a que a instância pertence deve implementair java.io.Serializable.
    2. Os membros da class devem ser serializáveis. Se um ou mais dos membros não devem ser serializados, eles devem ser maircados como transitórios.

    Quando qualquer estrutura de dados usa um Compairador e quer que a estrutura de dados seja serializável, o ponto 2 (mencionado acima) obriga o compairador a implementair serializável.

    Eu vi no Java 5 API Link paira o java 5 APT, que afirmou que, ao implementair o Compairator, não significa implementair interface serializável de qualquer forma, então é preciso prestair atenção explícita paira obter Serializable em alguma class de Compairador comumente criada

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.