E aí E aí galera tudo bem vindas vamos confirmar kanazawa como sempre aquele agradecimento e um abraço especial para todos a galera que é meio do nosso canal é são as usar continuidade né a parte de classes utilitárias dessa vez nós vamos falar sobre ringue então é muito importante você entender o funcionamento da streaky porque é a performance do seu sistema pode ser diretamente impactada com os delas Quais são os que ela não o pacote m n o p q stream pode ser apenas já gente vai aprender o alfabeto aqui a certeza e é mais
um pacote aí às vezes porque pode tirar os dois juntos na teste audiências já vai atrás e vamos chamar aqui ping test 01 bom a primeira coisa que o que vocês precisam saber sobre streamers aqui Strings no Java são imutáveis bem O que que significa que as Spring são notáveis vamos começar aqui com o outro então fazer uma propaganda aqui para gente quer dizer que é muito legal esse cara aqui ele é uma string e essa stringhi foi criada no que nós chamamos old Strings bom então à Braz de nome mesmo mais sim Constant Pool
a piscina constante de estranhas tem que desenhar esse cara aí é mais ou menos assim você tem um quadro tão grande esse quadro tão grande Ele é o digamos o rip E aonde você sabe onde todos os objetos moram e nem do nessa parte né o já ele cria um espaço especialmente para as estrias Então esse espacinho q tah q tah dentro do rio aqui você pode chamar ele de eu pude Strings a música legal chamado piscina de espinho então na essa parte de streampool o jabuti Lisa Porque existe um conceito na área da Ciência
da Computação chamado drinque interno basicamente é quando você utiliza as linhas de forma imutável ou seja no jabá toda stringhi que você tá criando se você quiser lá pela primeira vez né ela vai ser alocada no coldstream diz mas você cria uma segunda vez o Java não vai duplicar Então como nós fizemos aqui é o nome recebe o William que você tá fazendo né é falar para oshawa criar William nesse pote cine bom então você tem né uma variável de referência a variável de referência que você tem aqui é o nome em nome tá fazendo
referência para esse William aqui dentro como é que a gente sabe que isso é verdade porque nós podemos fazer a seguinte né stringhi não linha Trend nome 2 o William se você já viram né que quando nós estamos comparando estranha falei para vocês que nós temos que utilizar o únicos porque porque o Igor vai validar a e as skins o valor delas é igual Mas o que você quer para lhe dar Por exemplo agora é a referência o que você quer validar esse nome um e nome dois eles estão fazendo referência por mesmo objeto Mc
caso aqui é o William que tá dentro do poço Strings então para fazer isso para quando você quiser comprar a referência de um objeto você utiliza o sinal de igual e nós temos aqui Oi primo o William nome igual igual a nome dois é verdade ou seja isso significa que esses dois valores estão fazendo referência às suas variáveis diferença fazendo aqueles por mesmo objeto e memória e é o Ian que tava constante na pude constante da do Java é importante você perceber e como explica imutável não é possível você alterar esse valor E como você
altera o valor da por exemplo Digamos que você queira fazer o seguinte existe um método dentro da e dá as Strings que é o método de concatenação da chamado com Kate eu posso fazer o seguinte ó eu posso por exemplo aqui no não vai funcionar eu fizer assim eu acho que não é um é um é um valor pálido uma expressão baile no Java então eu vou concatenar ou paródia concatena né o nome com Sony e eu executar novamente ele vai falar que deu entro mas espera aí como é que ele deu otro se você
tá executando aqui o com Kate e tá trocando o nome tá falando pra condenar com Suane E aí que vim a imutabilidade das Strings e você comparar agora se você imprimir o nome Olá você poderia tá esperando que esse nome fosse o insone na verdade não é por causa da imutabilidade das Strings A não ser que você faça uma nova Associação você não pode trocar o valor que existe então o que está acontecendo aqui é o seguinte nós temos William nós temos o Suane sendo criado ou seja tem mais uma King sendo criado não pode
Springs Suane né abraji com espaço ainda tem um espaço lá nós utilizamos eles passam considerado um cara Carvalho existe ainda a string ring Neck concatenada o nome com os phone Então seja tem mais uma string daqui ainda chamada o William sonho mas o problema é que não existe uma variável de referência para elas quando eu falei ao só combatendo o nome com Suane eu tô falando para criar uma nova string no por Strings Mas como você pode ver não existe uma variável de referência para ela o que eu poderia fazer é o seguinte nome recebe
o nome que nós temos a ser referenciado aqui nesse caso ele não concatenado com um ano eu quando chegar nessa linha que vai acontecer só variável nome para fazer referência para esse objeto aqui Windows Phone tô só executar novamente e vai primeiro e a sua mãe e falso por quê Porque agora não me sai fazendo referência para esse valor na cor distende-se e nome do está fazendo referência para esse valor no pudins Então você nunca consegue alterar o valor no pude Springs se você criar uma outra Spring e o Java ele verificar que já existiam
Pode sim mas ele só vai te deu é a referência daquele valor a unha mas o que acontece por exemplo se stringhi que é um objeto criar como se fosse a um objeto né Por exemplo vamos aqui embaixo a gente já tem o seguinte King nome 3 New o fim esse é possível estranha uma variável de referência né Sim lá a classe né que nós estamos utilizando compare a diferença e como você for aqui dentro é você pode ver que o consultor é público Ou seja é possível você criar é uma Spring já utilizando New
mas aí eu vou fazer o seguinte eu vou falar olha eu queria para mim né Uma string com o nome Williams Oi e eu vou fazer o seguinte nós temos aqui nome nome igual igual nome dois você sabe agora que nome é diferente né unhas online mas não me dois ainda é o William o que que eu vou fazer vou imprimir aqui Salt o nome 2 e é igual ao nome 3 o executará conta o tipo de F10 você vai ver que é falso o que que é falso Por que que tá acontecendo aqui é
o seguinte nós temos uma variável né de referência nome três que tá fazendo referência para um objeto e quando você faz dessa forma você tá aqui dentro e no outro lugar mas você que o William daquele nome três que tá acontecendo na verdade é isso aqui você tá querendo uma string de dentro do chip de memória não não pode Strings né E essa variável tá fazendo referência para ela então aqui nome 3 Oi tá fazendo referência a entrar esse William esse objeto que nós temos aqui o valor dessa Spring ainda tá no vindo com linha
de pornô do pudins né então esse o hino aqui Veio para cá mas a diferença é como você tá trabalhando com Strings que nós chamamos literal nós estamos pegando diretamente do com distinguir mas quando você cria um objeto é só variar referente a fazendo a referência para o objeto ou seja nome três faz referência para esse objeto que em cápsula o hino que tá dentro da do Povo Strings E se eu quisesse por exemplo pegar o valor que tem do William lá dentro né então vou duplicar aqui você pode falar olha o nome... Nós falamos
sobre o interno você pode ver que o entorno e de retorno apertar contou que um uma representação canônica né Desse objeto e o seu executar agora novamente quando se pudesse 10 você vai ver que nós temos o valor true ou seja o nome agora tá sendo comparado com o nome 2 litros comparado com o valor que nós temos dentro do poço Strings que é William e são nome três ainda continua né fazendo referência para William a diferença que eu chamei um método e vai pegar essa referência que nós temos dentro do pude Strings é basicamente
quando você faz isso você está criando uma variável de referência Você tá criando e depois por objeto do tipo sangue e três em Marte Spring e no pouco Spring basicamente uma linha é tudo que é tudo isso que tá acontecendo no mundo real diria que vocês nunca vão ver algo assim mas você realmente vê feio você quer uma estranha Dessa forma não vejo nenhum objetivo criar uma estranha dessa forma nunca vi na minha caixa profissional e na maioria das vezes você vai tá criando Strings dessa forma né mas aí é tem as melhores Porque dependendo
da quantidade de Cinza que você trabalha né apesar que já vai ter feito umas modificações a partir da versão 9 é ainda complicado trabalhar com uma estranha muito grande só por exemplo a gente você pega um documento de Word não é uma página inteira que você joga dentro de um mestre hindu então aquele documento em seu olho aquelas ela cinco mil palavras por grupamento do por extends Oi e aí fica um pouquinho mais complicado de ir você trabalhar porque se você precisa me tiver mais tringue 15 mil palavras né Você tá criando uma string aí
se você puder e quiser uma alteração e salvar o que que acontece um você tem duplicado praticamente o mesmo tamanho com a diferença de um carácter porque tem que são imutáveis mas tem formas de trabalhar com um com isso que nós vamos ver na próxima alta você precisa tirar dessa aula né pra sua carreira profissional como eu achava é que as Strings elas são imutáveis e você precisa é assim que tu tá tomando cuidado hein tá associando o novo valor a variável de referência e não você não vai conseguir utilizar aquele valor a novo e
no geral o resto é só mais para você bater um papo tomar um cafezinho com a galera que você faz parte da equipe Então é isso galera Espero que você tenha gostado mesmo assim no próximo ao até mais