<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Dúvida em autoboxing simples"]]></title>
		<link>http://www.guj.com.br/posts/list/11.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Dúvida em autoboxing simples"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Dúvida em autoboxing simples</title>
				<description><![CDATA[ Fiquei com uma dúvida agora no seguinte autoboxing:<br /> [code]<br /> public class ShortTest<br /> {<br /> 	public static void main(String...$){<br /> 		<br /> 		Short s = 5;<br /> <br /> 		System.out.println("s: "+s);<br /> 	}<br /> }[/code]<br /> <br /> Por que isso funciona normalmente? O que eu achava que acontecia era o seguinte:<br /> <br /> 1) 5 é um literal do tipo [b]int[/b] (pois foi escrito diretamente no código fonte).<br /> 2) Assim, como Short é um tipo não primitivo, é necessário fazer o autoboxing do 5.<br /> 3) 5 é transformado em um objeto do tipo [b]Integer[/b].<br /> 4) Integer não é subclasse de Short, logo gera erro de compilação.<br /> <br /> Qual o erro no racioncínio?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197773/992587/duvida-em-autoboxing-simples
</guid>
				<link>http://www.guj.com.br/prepost/197773/992587/duvida-em-autoboxing-simples
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 12:25:25]]> GMT</pubDate>
				<author><![CDATA[ TiagoTC]]></author>
			</item>
			<item>
				<title>Re:Dúvida em autoboxing simples</title>
				<description><![CDATA[ o código funciona normalmente porq 5 está nos limites permitidos no tipo short....]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197773/992596/reduvida-em-autoboxing-simples
</guid>
				<link>http://www.guj.com.br/prepost/197773/992596/reduvida-em-autoboxing-simples
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 12:37:06]]> GMT</pubDate>
				<author><![CDATA[ vmsb11]]></author>
			</item>
			<item>
				<title>Re:Dúvida em autoboxing simples</title>
				<description><![CDATA[ Lendo a JLS, no capítulo "Conversions" (http://java.sun.com/docs/books/jls/third_edition/html/conversions.html ) é realmente difícil entender por que é que isso ocorre (você sabe que existe o "compile-time narrowing", o que possibilita você escrever:<br /> <br /> [code]<br /> short s = 5;<br /> [/code]<br /> <br /> mesmo sendo 5 um int, converte-se implicitamente o 5 para um short, porque o valor é pequeno suficiente para caber em um primitivo short.<br /> <br /> Acredito que seja aceito o "Short s = 5" pelo "princípio de mínima surpresa" (principle of least surprise) porque é realmente difícil entender por que é que é válido usar "short s = 5"  mas não seja válido usar "Short s = 5". É questão de ler com mais atenção a JLS.<br /> <br /> E não, tais coisas absurdas não caem com tal nível de detalhamento. <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197773/992598/reduvida-em-autoboxing-simples
</guid>
				<link>http://www.guj.com.br/prepost/197773/992598/reduvida-em-autoboxing-simples
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 12:38:26]]> GMT</pubDate>
				<author><![CDATA[ entanglement]]></author>
			</item>
			<item>
				<title>Re:Dúvida em autoboxing simples</title>
				<description><![CDATA[ Pessoal, e qual o motivo que esse não funciona?<br /> <br /> [code]Short s = new Short(5);[/code]<br /> <br /> [code]Short s = Short.valueOf(5);[/code]<br /> <br /> <br /> Num tem cast implícito de int pra short, não?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197773/992860/reduvida-em-autoboxing-simples
</guid>
				<link>http://www.guj.com.br/prepost/197773/992860/reduvida-em-autoboxing-simples
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 17:10:55]]> GMT</pubDate>
				<author><![CDATA[ rmalati]]></author>
			</item>
			<item>
				<title>Re:Dúvida em autoboxing simples</title>
				<description><![CDATA[ Olhando a API, só aceita [b]short[/b], vejam:<br /> <br /> [quote]static Short 	valueOf(short s) <br />  Returns a Short instance representing the specified short value.<br /> <br /> Short(short value)<br />           Constructs a newly allocated Short object that represents the specified short value.[/quote]<br /> <br /> Tudo bem, mas o que intriga é que o cast implícito ocorre quando faz<br /> <br /> [code]Short s = 5;[/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197773/992866/reduvida-em-autoboxing-simples
</guid>
				<link>http://www.guj.com.br/prepost/197773/992866/reduvida-em-autoboxing-simples
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 17:17:54]]> GMT</pubDate>
				<author><![CDATA[ rmalati]]></author>
			</item>
			<item>
				<title>Re:Dúvida em autoboxing simples</title>
				<description><![CDATA[ [quote=rmalati]Pessoal, e qual o motivo que esse não funciona?<br /> <br /> [code]Short s = new Short(5);[/code]<br /> <br /> [code]Short s = Short.valueOf(5);[/code]<br /> <br /> <br /> Num tem cast implícito de int pra short, não?[/quote]<br /> de uma olhada no construtor de Short <br /> [code]<br /> <br /> public Short(short value);<br /> <br /> [/code]<br /> <br /> ou seja vc tem que fazer isso na hora de criar<br /> [code]<br /> <br /> //isso impede que vc passe um valor fora dos limites do tipo short....<br /> new Short((short)5);<br /> <br /> ou <br /> <br /> short x = 5;<br /> <br /> new Short(x);<br /> <br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197773/992871/reduvida-em-autoboxing-simples
</guid>
				<link>http://www.guj.com.br/prepost/197773/992871/reduvida-em-autoboxing-simples
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 17:23:08]]> GMT</pubDate>
				<author><![CDATA[ vmsb11]]></author>
			</item>
			<item>
				<title>Re:Dúvida em autoboxing simples</title>
				<description><![CDATA[ Outra coisa que me deixa com a pulga atrás da orelha é que isso não compila:<br /> [code]<br /> Long x = 42;[/code]<br /> <br /> Mas isso compila:<br /> <br /> [code]Byte b = 10;[/code]<br /> <br /> Alguém sabe explicar o porquê?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197773/993010/reduvida-em-autoboxing-simples
</guid>
				<link>http://www.guj.com.br/prepost/197773/993010/reduvida-em-autoboxing-simples
</link>
				<pubDate><![CDATA[Wed, 10 Feb 2010 00:49:33]]> GMT</pubDate>
				<author><![CDATA[ TiagoTC]]></author>
			</item>
	</channel>
</rss>
