<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programacion en JAVA &#187; Null Pointer Exception</title>
	<atom:link href="http://www.programacionenjava.com/blog/tag/null-pointer-exception/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.programacionenjava.com</link>
	<description></description>
	<lastBuildDate>Thu, 29 Apr 2010 10:46:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Problemas con NullPointerException</title>
		<link>http://www.programacionenjava.com/blog/2009/02/23/javabasico/58/</link>
		<comments>http://www.programacionenjava.com/blog/2009/02/23/javabasico/58/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 14:58:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Problemas Frecuentes]]></category>
		<category><![CDATA[Null Pointer Exception]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=58</guid>
		<description><![CDATA[Las excepciones de tipo NullPointer son las causas de excepción en tiempo de ejecución más comunes.
Todos los valores en Java, excepto las primitivas, son referencias a objetos y todos tienen un valor por defecto, el valor null, que indica que el objeto no tiene asignado ningún valor. A un objeto con valor null, no inicializado, [...]]]></description>
			<content:encoded><![CDATA[<p>Las excepciones de tipo <strong>NullPointer</strong> son las causas de excepción en tiempo de ejecución más comunes.</p>
<p>Todos los valores en Java, excepto las primitivas, son <strong>referencias a objetos</strong> y todos tienen un valor por defecto, el valor null, que indica que el objeto no tiene asignado ningún valor. A un objeto con valor null, no inicializado, que no referencia ningún objeto, no se le puede aplicar ningún método, siendo el resultado el lanzamiento de una excepción de tipo <strong>NullPointerException</strong></p>
<p>Una excepción de tipo <strong>NullPointerException</strong> lleva asociada la información de la línea de código donde se produjo el error. El mecanismo para detectar y corregir el error es directamente ir a esta línea de código y averiguar cuál de los objetos involucrados en la operación es el que no ha sido inicializado. Una vez detectado, será necesario inicializar el valor del objeto, pero siempre teniendo cuidado de no hacerlo para simplemente eliminar el error, sino que se le debe asignar un valor acorde con la lógica propia del programa.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('58code3'));">[Copiar]</a><a href="###" onclick="toggle_collapse('583');">[<span id="583_symbol">-</span>]</a></div><div class="codebox_left"><span id="l58code3"><a href="#" onclick="javascript:showCodeTxt('58code3'); return false;"> Codigo</a></span></div></td></tr><tr id="583"><td class="code" id="58code3"><pre class="java"><span style="color: #000000; font-weight: bold;">class</span> Casa<span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #993333;">long</span> precio;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> Casa <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">long</span> precio<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006600;">precio</span> = precio;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">long</span> getPrecio<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">return</span> precio;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Vender <span style="color: #66cc66;">&#123;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">private</span> Casa casa;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #993333;">void</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #aaaadd; font-weight: bold;">String</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> args<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
&nbsp;
Vender vender = <span style="color: #000000; font-weight: bold;">new</span> Vender<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span>vender.<span style="color: #006600;">casa</span>.<span style="color: #006600;">getPrecio</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Obviamente al ejecutar este ejemplo, se producirá un error indicando la línea concreta del error, y revisando esta línea se puede ver que la casa no está inicializada, y al no tener una referencia de la misma no se puede operar sobre el objeto y se lanzará la excepción <strong>NullPointerException</strong>.</p>
<p>Por ejemplo, el error se podría corregir inicializando el objeto casa incluido en el objeto Vender.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('58code4'));">[Copiar]</a><a href="###" onclick="toggle_collapse('584');">[<span id="584_symbol">-</span>]</a></div><div class="codebox_left"><span id="l58code4"><a href="#" onclick="javascript:showCodeTxt('58code4'); return false;"> Codigo</a></span></div></td></tr><tr id="584"><td class="code" id="58code4"><pre class="java"><span style="color: #000000; font-weight: bold;">private</span> Casa casa = <span style="color: #000000; font-weight: bold;">new</span> Casa<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100000</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2009/02/23/javabasico/58/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
