Galera eu estava vendo solução de uma questão de um testkiller aqui no Guj mesmo e fiquei na dúvida:
publicclassBrand{Stringteste="teste";//<<<quando eu faço isso eu estou criando a String teste e referenciando a variável teste para ela.publicStringmetodo(){Stringteste="teste";//<<< quando eu faço isso não estou criando a string estou apenas referenciando a variável teste a ela, pq ao executar o metodo a JVM vê que temos uma String a ser criada e cria automaticamente, por isso não estou "criando" e apenas referenciando, é isso mesmo?????Nunk tinha lido nada a respeito.}
Galera eu estava vendo solução de uma questão de um testkiller aqui no Guj mesmo e fiquei na dúvida:
publicclassBrand{Stringteste="teste";//<<<quando eu faço isso eu estou criando a String teste e referenciando a variável teste para ela.publicStringmetodo(){Stringteste="teste";//<<< quando eu faço isso não estou criando a string estou apenas referenciando a variável teste a ela, pq ao executar o metodo a JVM vê que temos uma String a ser criada e cria automaticamente, por isso não estou "criando" e apenas referenciando, é isso mesmo?????Nunk tinha lido nada a respeito.}
Vlws
Então, acho que você está se enganando... pois nos 2 (dois) exemplos você está criando uma String nova. Uma fora do método, no qual poderemos considerar uma variavel "global" e a outra dentro do método, que poderemos chama-la de variavel local.
Nunca se esqueça de que um método não void, sempre necessita de um retorno. Ficando:
Essa é uma questão do testkiller, a pergunta é, qnts Strings são criadas? No gabarito a resposta fala que são 3, procurando no GUJ, eu achei isto http://www.guj.com.br/posts/list/116447.java, mas ainda não entendi, segundo a explicação do thingol.
Stringteste="teste"; //<<<quando eu faço isso eu crio mesmo a String publicStringmetodo(){Stringteste="teste"; //<<< quando eu faço isso pego do pool de Stringreturn"";
}
}
Foi isso que eu não entendi, o pq a resposta é que são criadas 3 Strings, a dúvida não era sobre a variável em si.
Vlws
Andre_Fonseca
oi, depende
Java usa uma coisa chamada pool de Strings que é uma porção de memória utilizada para trabalhar exclusivamente com objetos do tipo String..
dá uma olhada no próprio javadoc da classe String e também uma pesquisada no google
no seu código por exemplo poderíamos ter duas situações:
Realmente, explicar por escrita é meio dificil!
mas da uma lida sobre o que o javando falou que pode ajudar um pouco! As vezes a maneira do thingol falar é meio nerd =P
Z
Zabimaru
Vlws Matheus e André,
Ficou legal sua explicação André, vou dar uma lida no javadoc sim, vlws pela dica.
Mas eu tinha contado na questão 4 Strings criadas, vixi, to vendo que num vo passa nunk nessa prova , hauhuaha,