java - 在eclipse中构建错误

标签 java eclipse

我是 Eclipse 和 Java 的新手。

我想知道以下是 Eclipse 编译器或我安装的错误。

我在公共(public)类中定义了一个公共(public)类来定义服务方法的返回类型。

public class ServiceThing {
    public class ReturnType {...}
    public ReturnType serviceMethod (...) {...}
    ...
}

在我调用服务方法的类中,我实例化了一个 ReturnType 来保存默认消息:

ReturnType returnType = new ReturnType(...);

当尝试构建它时,出现以下错误:

构建工作区: 构建期间发生错误。 在项目“XXXX.android”上运行生成器“Java Builder”时出错。 java.lang.ArrayIndexOutOfBoundsException

异常

保存失败: 保存失败; java.lang.NullPointerException

我发现所需的语法是:

ServiceThing serviceThing = ...; 
ReturnType returnType = serviceThing.new ReturnType(...);

但是编译器无论如何都不应该生成 nullpointerException。

最佳答案

通过将 ReturnType 设为 public static class,您将摆脱对父实例和您的实例的引用

ReturnType returnType = new ReturnType(...);

将按您预期的方式工作。

如果没有 static 修饰符,子类的实例包含对其父对象的隐式引用。这就是为什么在这种情况下您需要 ServiceThing 实例来创建 ReturnType 实例的原因。

关于java - 在eclipse中构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075431/

相关文章:

java - 如何检查 Eclipse 插件性能

java - JFileChooser 类

java - 如何实现自定义异常?

java - 堆栈跟踪行中引用的基类?

android - 来自 Resources 类型的 getDrawable(int) 在 Eclipse Android 中已弃用

java - 通过 Eclipse 在 Docker 上调试 Wildfly 应用程序?

java - Android 服务运行 Activity

java - 无法在spring mvc中使用css/js等资源

android - 图形布局引发问题

java - 在设备上运行黑莓应用程序 'attempts to access a secure api'