空指针访问:变量“tipoEstablecimiento”在此位置只能为null

时间:2011-05-11 15:49:30

标签: java

我一直在互联网上搜索这个错误而没有结果。我迷失了它。任何人都可以帮忙吗?

.
.
.

  TipoEstablecimientoHotel tipoEstablecimiento  = null;
.
.
.
.
try{
  tipoEstablecimiento.setCodigo("");  <--- Line with the error.
}catch (Exception e){
  System.out.println(e.getMessage());
}
.
.
.

当然我有我需要的导入(我的意思是TipoEstablecimiento),它标记了相应警告的那一行。

提前致谢。

5 个答案:

答案 0 :(得分:2)

好吧,你试图通过tipoEstablecimiento调用一个方法 - 并且警告的任何内容都证明该变量不可能具有非空值 - 因此它将总是抛出NullPointerException

您需要在某处为变量指定一个非空值...

答案 1 :(得分:2)

在调用方法之前,您需要实例化该类。

  

TipoEstablecimientoHotel tipoEstablecimiento = new TipoEstablecimientoHotel();

答案 2 :(得分:2)

IDE或编译器告诉您,您永远不会设置tipoEstablecimiento。换句话说,您指向的那一行绝对可以保证抛出NullPointerException

将变量设置为TipoEstablecimientoHotel的某个实例以避免错误。

答案 3 :(得分:2)

您没有向我们展示足够的代码,但我会回答您的错误。您不会在为其分配null并调用其setCodigo方法之前初始化变量,因此您肯定会获得NullPointerException(您不能取消引用null对象)。确保在使用之前通过调用其构造函数来实例化它,例如:

tipoEstablecimiento = new TipoEstablecimientoHotel();

答案 4 :(得分:1)

Codigo没什么可做的。 Tipo Establecimiento为NULL,不是此类的对象。 首先,您必须实例化一个对象