java - 我的java立即初始化缺少什么?

标签 java android

我创建了两个自定义 java DTO 类

我尝试初始化它们,但出现错误

..

PeriodicDataToServer pData = new PeriodicDataToServer(){

    location = new Location() {
        longtitude ="", latitude = "";
    };
}

..

public class PeriodicDataToServer {
    public Location location;
}


public class Location {

    public String longtitude;
    public String latitude;

}

..

错误:

Syntax error on token "location", VariableDeclaratorId expected after this token

Syntax error on token "longtitude", } expected

最佳答案

您的意思可能是:

PeriodicDataToServer pData = new PeriodicDataToServer() {{

    location = new Location() {{
        longtitude ="", latitude = "";
    }};
}};

这也是我喜欢的一个技巧,但它有一个很大的缺点:它创建了匿名类。

对于其他读者:

class A { int n; }

 A a = new A() {{ n = 3; }};

有一个内部初始化 block { n = 3; },如:

class B {
    int[] a = new int[2};
    {
        a[0] = 12;
        a[1] = 34;
    }
}

关于java - 我的java立即初始化缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22561344/

相关文章:

java - 抛出以指示失败 "sanity check"的最佳内置 JRE 异常是什么?

javascript - 脚本文件未在 Android Webview 自定义渲染器中加载

android - 我在 kotlin 中使用 xml <include/> 标签时崩溃

android - XMPP 客户端无法连接到 XMPP 本地主机服务器

java - 如何在android上更新顶点缓冲区?

android - Android App 与 Raspberry Pi 3 通过 Wlan 路由器通信

java基本工资计划

java - Java 中带有 ResourceBundle 的 i18n 工具

java - 如何通过 SSH 传输所有 RMI 流量

java - 使用 Jackson 2 反序列化 JSON