*   >> Leitura Educação Artigos >> tech >> desenvolvimento web

Vantagem e desvantagens de Cordas Implementação Em JAVA

Advantages da implementação de Cordas em java1. Compilação cria seqüências únicas. Em tempo de compilação, cordas são resolvidos na medida do possível. Isto inclui a aplicação do operador de concatenação e convertendo outros literais para strings. Então hi7 e (oi + 7) ambos são resolvidos em tempo de compilação para a mesma cadeia, e são objetos idênticos na piscina classe string. Compiladores diferem na sua capacidade de atingir esta resolução.

Você sempre pode verificar seu compilador (por exemplo, por algumas declarações envolvendo decompiling concatenação) e alterá-lo se necessário2. Porque objetos String são imutáveis, uma operação does not substring precisa copiar toda a seqüência de caracteres subjacente. Em vez disso, uma sub pode usar a mesma matriz de char como a string original e simplesmente se referir a um ponto de partida diferente e ponto final na matriz de char.

Isto significa que as operações de substring são eficientes, sendo rápido e conservação da memória; o objeto extra é apenas um invólucro no mesmo caractere matriz subjacente com diferentes ponteiros para que array.3. Strings são implementados no JDK como uma matriz de char interna com deslocamentos de índice (na verdade um deslocamento de início e uma contagem de caracteres). Essa estrutura básica é extremamente improvável de ser alterado em qualquer versão do Java.4. Cordas tem forte apoio à internacionalização.

Seria preciso um grande esforço para reproduzir o suporte de internacionalização para um class.5 alternativa. A estreita relação com StringBuffers permite cordas para fazer referência à mesma matriz de char usado pelo StringBuffer. Esta é uma faca de dois gumes. Para a prática típica, quando você usa um StringBuffer para manipular e acrescentar personagens e tipos de dados, e em seguida, converter o resultado final de uma String, isso funciona muito bem. O StringBuffer fornece mecanismos eficientes para o cultivo, inserindo, acrescentando, alterando, e outros tipos de manipulação de cadeia.

A cadeia resultante, em seguida, faz referência de forma eficiente a mesma matriz de char com nenhuma cópia caráter extra. Isto é muito rápido e reduz o número de objectos a serem usados ​​para um mínimo, evitando objetos intermediários. No entanto, se o objeto StringBuffer sendo posteriormente alterada, a matriz de char em que StringBuffer é copiado para uma nova matriz de char que agora é referenciado pelo StringBuffer.

O objeto String mantém a referência à matriz de char anteriorment

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.