You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用GeoPoint的setLatitude方法触发NullPointerException异常求助

问题根因

你抛出的空指针异常核心原因是:pointTarget 仅完成了类型声明,未完成实例化,调用空对象的成员方法必然触发该异常。
Java语言中,引用类型的成员变量如果只声明不赋值,默认初始值为null,你代码里只写了GeoPoint pointTarget;,没有执行new操作创建实际的GeoPoint实例,所以调用setLatitude方法时操作的是空对象,和你传入的double参数没有任何关联。

修复方案

两种可选修复方式:

  • 方式一:在声明变量时直接实例化,后续按需修改经纬度
public class MainActivity extends AppCompatActivity implements LocationListener {
    // 声明同时完成实例化
    GeoPoint pointTarget = new GeoPoint();

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        pointTarget.setLatitude(51.4245);
        pointTarget.setLongitude(3.1455);
    }
}
  • 方式二:使用带参构造方法直接传入经纬度初始化,无需单独调用set方法,代码更简洁
public class MainActivity extends AppCompatActivity implements LocationListener {
    GeoPoint pointTarget;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        // 先实例化再使用
        pointTarget = new GeoPoint(51.4245, 3.1455);
    }
}

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:15:00