<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Strings (i)mutáveis?</title>
	<atom:link href="http://blog.caelum.com.br/2007/05/21/strings-imutaveis/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/</link>
	<description>blog dos desenvolvedores da Caelum</description>
	<lastBuildDate>Thu, 09 Sep 2010 00:28:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Strings em java&#8230; &#171; É ou não é&#8230;</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-59349</link>
		<dc:creator>Strings em java&#8230; &#171; É ou não é&#8230;</dc:creator>
		<pubDate>Thu, 13 Aug 2009 23:55:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-59349</guid>
		<description>[...] um exemplo, do blog do Caelum http://blog.caelum.com.br/2007/05/21/strings-imutaveis/  package [...]</description>
		<content:encoded><![CDATA[<p>[...] um exemplo, do blog do Caelum <a href="http://blog.caelum.com.br/2007/05/21/strings-imutaveis/" rel="nofollow">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/</a>  package [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kimie Nakahara</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-10661</link>
		<dc:creator>Kimie Nakahara</dc:creator>
		<pubDate>Tue, 29 May 2007 07:56:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-10661</guid>
		<description>&quot;...aqueles que não conheciam ou não sabiam o poder da API de Reflection, viram que com um simples código, conseguimos “mutar” uma String, imaginem com um pouco mais de código o que não é possível de se fazer.&quot;

Ainda para os que nao conhecem, um ponto a considerar: setar atributos  via reflection tem um overhead consideravel, especialmente por causa da checagem de validacao de acesso. &lt;a href=&quot;http://java.sun.com/docs/books/tutorial/reflect/member/fieldValues.html&quot; title=&quot;sun&quot; rel=&quot;nofollow&quot;&gt;.

Mas parar para pensar em como fazer uma String mutavel, isso e muito filosofia! Legal!</description>
		<content:encoded><![CDATA[<p>&#8220;&#8230;aqueles que não conheciam ou não sabiam o poder da API de Reflection, viram que com um simples código, conseguimos “mutar” uma String, imaginem com um pouco mais de código o que não é possível de se fazer.&#8221;</p>
<p>Ainda para os que nao conhecem, um ponto a considerar: setar atributos  via reflection tem um overhead consideravel, especialmente por causa da checagem de validacao de acesso. <a href="http://java.sun.com/docs/books/tutorial/reflect/member/fieldValues.html" title="sun" rel="nofollow">.</p>
<p>Mas parar para pensar em como fazer uma String mutavel, isso e muito filosofia! Legal!</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dimas</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-10512</link>
		<dc:creator>Dimas</dc:creator>
		<pubDate>Sat, 26 May 2007 08:15:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-10512</guid>
		<description>Hahaha... vou pregar uma peça em alguém usando isso =) hahaha</description>
		<content:encoded><![CDATA[<p>Hahaha&#8230; vou pregar uma peça em alguém usando isso =) hahaha</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antonio Kantek</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-10479</link>
		<dc:creator>Antonio Kantek</dc:creator>
		<pubDate>Fri, 25 May 2007 14:27:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-10479</guid>
		<description>HACKERS ! ehehhe</description>
		<content:encoded><![CDATA[<p>HACKERS ! ehehhe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Urubatan</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-10424</link>
		<dc:creator>Rodrigo Urubatan</dc:creator>
		<pubDate>Wed, 23 May 2007 21:02:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-10424</guid>
		<description>Isto não é nada, imagina se alguem resolve fazer algo assim:
&lt;code&gt;&lt;pre&gt;
public class Teste
{
	public static void main(String[] args) throws Exception
	{
		String str = &quot;Rodrigo Urubatan&quot;;
		mudaString(str);
		System.out.println(&quot;Rodrigo Urubatan&quot;);
	}

	private static void mudaString(String str) throws Exception
	{
		String ref = str.intern();
		Field value = String.class.getDeclaredField(&quot;value&quot;); // 1
		value.setAccessible(true); // 2
		char[] charsDaString = (char[]) value.get(ref); // 3
		charsDaString[0] = &#039;r&#039;;
		charsDaString[1] = &#039;O&#039;;
		charsDaString[2] = &#039;D&#039;;
		charsDaString[3] = &#039;R&#039;;
		charsDaString[4] = &#039;I&#039;;
	}
}
&lt;/pre&gt;&lt;/code&gt;
Ou seja, brincar exatamente com o pool interno de strings do Java, que foi mencionado pelo Thadeu. E é bem parecido com o artigo, mas é de deixar o cidadão maluquinho :D</description>
		<content:encoded><![CDATA[<p>Isto não é nada, imagina se alguem resolve fazer algo assim:<br />
<code>
<pre>
public class Teste
{
	public static void main(String[] args) throws Exception
	{
		String str = "Rodrigo Urubatan";
		mudaString(str);
		System.out.println("Rodrigo Urubatan");
	}

	private static void mudaString(String str) throws Exception
	{
		String ref = str.intern();
		Field value = String.class.getDeclaredField("value"); // 1
		value.setAccessible(true); // 2
		char[] charsDaString = (char[]) value.get(ref); // 3
		charsDaString[0] = 'r';
		charsDaString[1] = 'O';
		charsDaString[2] = 'D';
		charsDaString[3] = 'R';
		charsDaString[4] = 'I';
	}
}
</pre>
<p></code><br />
Ou seja, brincar exatamente com o pool interno de strings do Java, que foi mencionado pelo Thadeu. E é bem parecido com o artigo, mas é de deixar o cidadão maluquinho <img src='http://blog.caelum.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lennon Jesus</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-10423</link>
		<dc:creator>Lennon Jesus</dc:creator>
		<pubDate>Wed, 23 May 2007 21:01:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-10423</guid>
		<description>A discussão é muito interessante...

Contudo, para os novatos, que pretendem tirar a certificação SCJP, há dois bons caminhos:

- manter fixa na cabeça a idéia de que Strings são eternamente imutáveis;
- aprender a fundo os recursos de Reflection e, ainda assim, manter a idéia de que Strings são eternamente imutáveis (já que na prova de certificação, basta saber que Strings são imutáveis!).

Enfim, a redundância que usei no que disse acima é para que os que estão iniciando e buscam dicas para a certificação não esqueçam que Strings são imutáveis! :)

Abraços a todos.</description>
		<content:encoded><![CDATA[<p>A discussão é muito interessante&#8230;</p>
<p>Contudo, para os novatos, que pretendem tirar a certificação SCJP, há dois bons caminhos:</p>
<p>- manter fixa na cabeça a idéia de que Strings são eternamente imutáveis;<br />
- aprender a fundo os recursos de Reflection e, ainda assim, manter a idéia de que Strings são eternamente imutáveis (já que na prova de certificação, basta saber que Strings são imutáveis!).</p>
<p>Enfim, a redundância que usei no que disse acima é para que os que estão iniciando e buscam dicas para a certificação não esqueçam que Strings são imutáveis! <img src='http://blog.caelum.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Abraços a todos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Galmeida</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-10364</link>
		<dc:creator>Galmeida</dc:creator>
		<pubDate>Tue, 22 May 2007 01:27:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-10364</guid>
		<description>Cara, pelo amor de deus, não fica espalhando essas coisas por aí que vai ter gente que vai achar isso bonito e vai querer usar, hehehe</description>
		<content:encoded><![CDATA[<p>Cara, pelo amor de deus, não fica espalhando essas coisas por aí que vai ter gente que vai achar isso bonito e vai querer usar, hehehe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thadeu</title>
		<link>http://blog.caelum.com.br/2007/05/21/strings-imutaveis/comment-page-1/#comment-10359</link>
		<dc:creator>Thadeu</dc:creator>
		<pubDate>Mon, 21 May 2007 21:40:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/05/21/strings-imutaveis/#comment-10359</guid>
		<description>Ola guilherme, faca o teste que o paulo colocou :)</description>
		<content:encoded><![CDATA[<p>Ola guilherme, faca o teste que o paulo colocou <img src='http://blog.caelum.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
