O que você precisa saber sobre o uso de strings em Java

O que você precisa saber sobre o uso de strings em Java

Assim que você começar a aprender Java, a classe String chamará sua atenção, graças às suas propriedades exclusivas.





Você pode criar e manipular strings em Java mais facilmente do que em outras linguagens. Isso porque a classe String oferece vários recursos.





Com base nesses recursos, existem vários métodos para gerar e editar strings, dependendo de suas preferências e necessidades. Da mesma forma, muito dependerá do seu aplicativo e de onde as strings precisam ser usadas.





Como as strings de Java são diferentes?

Se você já trabalhou com a linguagem C, você sabe que as strings em C são uma matriz de chars (personagens). Por outro lado, as strings Java são imutáveis ​​e contêm caracteres Unicode.

como saber quem te ligou

Um dos principais recursos que tornam as strings em Java exclusivas é a concatenação. Basta usar o operador de adição + para juntar duas ou mais strings. Isso é algo que você não pode fazer com outros objetos Java, como Apontar ou Círculo .



Além disso, como mencionado antes, Java Strings são imutáveis, ou seja, você não pode modificá-los. Por exemplo, métodos como toUpperCase () e toLowerCase () gere uma string completamente nova, em vez de fazer alterações no conteúdo da string existente. Agora seu código retornará esta string recém-gerada.

Relacionado: Como manipular texto em PHP com essas funções





Outra área em que as strings são diferentes é quando se trata de usar caracteres nulos para terminar strings em linguagens como C. Em Java, as strings são objetos suportados por matrizes de caracteres. Se você está procurando ler o conteúdo de sua string da maneira que as matrizes de caracteres os representam, usando o toCharArray () método fará o trabalho.

Comparar strings em Java também é mais conveniente do que em outras linguagens de programação. Em vez de escrever um longo bloco de código para comparar strings, você pode usar o é igual a() método para comparar duas ou mais strings usadas em qualquer programa. Isso ocorre principalmente porque, em Java, o é igual a método é sobrescrito pela classe String, o que torna a comparação de strings um pedaço de bolo.





Em uma nota semelhante, pesquisar em substrings em Java também é fácil. Ao usar expressões regulares ou métodos como lastIndexOf () e índice de(), você pode pesquisar segmentos de strings e retornar valores assim que uma correspondência for identificada. Você também pode usar expressões regulares para cortar e dividir strings diferentes e usá-las individualmente para uma ampla variedade de usos em qualquer programa.

Como as strings são armazenadas na memória?

Agora que você sabe o que torna as strings em Java diferentes e benéficas, vamos explorar a classe String. Se você sabe alguma coisa sobre gerenciamento de memória em Java, deve ter lidado com suas duas entidades principais: heap e pilha.

A pilha é usada para executar processos e operações após ser chamada por um programa Java, enquanto o heap armazena conteúdo - necessário para executar e executar o código de maneira eficaz. Então, como o gerenciamento de memória é relevante no caso de strings?

Isso ocorre porque a classe String e os literais de string em Java recebem um tratamento diferente. Isso indica que os literais de string são atribuídos a um espaço de armazenamento exclusivo na memória heap, referido como String Constant Pool. Portanto, sempre que você usa literais de string para criar objetos de string em Java, o String Constant Pool os armazena.

Pelo contrário, quando você usa o novo palavra-chave para criar objetos de string, o Java os tratará como qualquer outro objeto e os enviará para o heap para armazenamento.

Exemplo de literais de string

Agora que você sabe o suficiente sobre objetos de string, vamos ver um exemplo de literais de string:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Aqui, o literal de string criou o objeto String com o conteúdo Hello World de MUO. Java enviará este objeto ao String Constant Pool.

Usando a nova palavra-chave

Você também pode usar o novo palavra-chave para gerar objetos String.

O objeto string da string himuo com conteúdo Hello World de MUO foi gerado por uma string literal e será enviado para o String Constant Pool. Da mesma forma, objetos de string também podem ser criados usando a nova palavra-chave da seguinte maneira:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

O exemplo acima usa o novo palavra-chave para criar um objeto string. Conforme explicado anteriormente, eles são enviados para o heap, onde são armazenados com outras variáveis ​​e objetos aguardando para serem executados pelo programa.

Agora, você deve estar curioso sobre o Pool Constant String, e com razão. Ele aloca espaço de pool para objetos com base no conteúdo do objeto de string. Depois que o String Constant Pool recebe os objetos, ele os verifica para verificar se dois objetos contêm exatamente o mesmo conteúdo.

Dois objetos de string podem armazenar o mesmo conteúdo?

Quando um literal de string é usado para criar um novo objeto, a Java Virtual Machine (JVM) revisa o conteúdo do objeto e avalia se ele já existe no pool. Quando um objeto contém conteúdo que já está presente no pool, a referência do objeto é retornada sem criar o novo objeto. Se você deve criar o novo objeto, certifique-se de que o conteúdo seja distinto e exclusivo.

No entanto, se você usar o novo palavra-chave para criar uma nova string, ela será processada de forma diferente. Quando você usa o novo para criar uma nova string, ela será gerada, independentemente de conter o mesmo conteúdo da string existente.

Isso indica que dois objetos de strings existentes armazenados na memória heap têm permissão para incluir o mesmo conteúdo; isso é diferente dos objetos string armazenados no String Constant Pool. Você também pode provar isso com o operador ==; ele retorna verdadeiro se dois objetos com o mesmo endereço físico são comparados.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Agora você pode entender strings em Java facilmente

Neste artigo, você aprendeu como as strings em Java são diferentes, maneiras de usar strings em Java, gerenciamento de memória de strings em Java e outros detalhes importantes sobre como as strings funcionam. Para testar sua compreensão, por que não escrever um programa Java para concatenar duas strings?

Compartilhado Compartilhado Tweet O email Aprendendo Python? Veja como manipular strings

Usar e manipular strings em Python pode parecer difícil, mas é enganosamente simples.

Leia a seguir
Tópicos relacionados
  • Programação
  • Java
Sobre o autor Usman Ghani(4 artigos publicados)

Usman é um profissional de marketing de conteúdo que ajudou várias empresas com crescimento orgânico em plataformas digitais. Ele gosta tanto de programar quanto de escrever, o que significa que a escrita técnica é algo de que gosta muito. Quando não está trabalhando, Usman gosta de passar o tempo assistindo programas de TV, acompanhando o críquete e lendo sobre análise de dados.

Mais de Usman Ghani

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever