<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Ordem em que a JVM chama métodos sobrecarregados de uma classe "]]></title>
		<link>http://www.guj.com.br/posts/list/11.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Ordem em que a JVM chama métodos sobrecarregados de uma classe "]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Ordem em que a JVM chama métodos sobrecarregados de uma classe </title>
				<description><![CDATA[ Estou precisando de uma ajuda para entender melhor a ordem em que a JVM chama os métodos sobrecarregados de uma classe, sendo que estes métodos possuem argumentos de tipo primitivo, de tipo Wrapper e var-args.<br /> <br /> Fiz um código de teste, e vi que a JVM chama nessa ordem: Tipo primitivo ----&gt; Classes Wrapper -----&gt; Var-args. A ordem é essa mesma?<br /> <br /> [code]<br /> public class A {<br /> <br /> 	void go(int x) { <br /> 		System.out.print("argumento de tipo primitivo int"); <br /> 	}<br /> 	<br /> 	void go(long x) {<br /> 		System.out.println("argumento de tipo primitivo long");<br /> 	}<br /> 	<br /> 	void go(int... x) {<br /> 		System.out.println("argumento de tipo primitivo int com var-args");<br /> 	}<br /> 	<br /> 	void go(long... x) {<br /> 		System.out.println("argumento de tipo primitivo long com var-args");<br /> 	}<br /> 	<br /> 	void go(Integer x) {<br /> 		System.out.print("argumento de tipo Integer"); <br /> 	}<br /> 	<br /> 	void go(Long x) {<br /> 		System.out.print("argumento de tipo Long"); <br /> 	}<br /> 	<br /> 	void go(Integer... x) {<br /> 		System.out.print("argumento de tipo Integer com var-args"); <br /> 	}<br /> 	<br /> 	void go(Long... x) {<br /> 		System.out.print("argumento de tipo Long com var-args"); <br /> 	}<br /> 	 <br /> 	public static void main(String[] args) {<br /> 	<br /> 		A a = new A();<br /> 		a.go(10);<br /> 	}<br /> }<br /> [/code]<br /> <br /> [b]Obs: Quando comentei os métodos void go(int x), void go(long x) e void go(Integer x) obtive o seguinte erro de compilação: The method go(int[]) is ambiguous for type A.[/b] Alguém pode me ajudar?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197756/992495/ordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</guid>
				<link>http://www.guj.com.br/prepost/197756/992495/ordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 10:32:11]]> GMT</pubDate>
				<author><![CDATA[ leonardo.moreti]]></author>
			</item>
			<item>
				<title>Re:Ordem em que a JVM chama métodos sobrecarregados de uma classe </title>
				<description><![CDATA[ A JVM prefere a ampliação do que o autoboxing ou varargs...<br /> <br /> Daí vem a dúvida e se tiver dois metodos um que tem q fazer auto-boxing e outro q tem var-args,<br /> a jvm vai escolher o auto-boxing, pois o var-args é muito abrangente ele aceita de 0 a muitos argumentos, então fik na lógica que quanto maior for a abrangência ele deve ficar por último, para não deixar os outros métodos inutilizáveis.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197756/992686/reordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</guid>
				<link>http://www.guj.com.br/prepost/197756/992686/reordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 14:08:18]]> GMT</pubDate>
				<author><![CDATA[ Raulen Rodrigues da Cunha]]></author>
			</item>
			<item>
				<title>Re:Ordem em que a JVM chama métodos sobrecarregados de uma classe </title>
				<description><![CDATA[ Não me lembro de cabeça das regras, mas isso cai na SCJP. procura material sobre a certificação q lá tem a ordem. no livro da katty sierra, é no capitulo 3 se não me engano.<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197756/992688/reordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</guid>
				<link>http://www.guj.com.br/prepost/197756/992688/reordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 14:13:34]]> GMT</pubDate>
				<author><![CDATA[ mario.fts]]></author>
			</item>
			<item>
				<title>Re:Ordem em que a JVM chama métodos sobrecarregados de uma classe </title>
				<description><![CDATA[ é, realmente é muito estranho<br /> <br /> a ambiguidade ocorre entre os métodos var-args que passam (int... x) e (Integer...x)<br /> eu não sei o porque isso não é detectado antes, só quando a JVM tem somente os dois como opção que ocorre esse erro<br /> <br /> espero que alguém saiba kkkkkkkk]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197756/992773/reordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</guid>
				<link>http://www.guj.com.br/prepost/197756/992773/reordem-em-que-a-jvm-chama-metodos-sobrecarregados-de-uma-classe-
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 15:55:17]]> GMT</pubDate>
				<author><![CDATA[ Cl?ber Jos]]></author>
			</item>
	</channel>
</rss>
