java - 这段代码是否向 var 传递了一个值?

标签 java android

以下代码来自https://github.com/NanoHttpd/nanohttpd/blob/master/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java .

代码是否static {mimeTypes(); ...} 将值传递给 var LICENCE?这是有效的 java 语法吗? var LICENSE 何时会传递值?运行时还是编译时?

/**
 * The distribution licence
 */
private static final String LICENCE;
static {
    mimeTypes();
    String text;
    try {
        InputStream stream = SimpleWebServer.class.getResourceAsStream("/LICENSE.txt");
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int count;
        while ((count = stream.read(buffer)) >= 0) {
            bytes.write(buffer, 0, count);
        }
        text = bytes.toString("UTF-8");
    } catch (Exception e) {
        text = "unknown";
    }
    LICENCE = text;
}

最佳答案

static { 是静态初始化 block 。该代码在类加载时运行一次。

LICENSE 设置为 text 的值,该值是从 bytes.toString() 获取的。

它将在运行时设置。

关于java - 这段代码是否向 var 传递了一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36831145/

相关文章:

java - 如何在 Java 中返回 5 个随机的 "Powerball"数字

java - Google Sheet API V4(Java) 在单元格中附加日期

java - 如何获取不同文件的缩略图?

java - 如何为 MockServer 的相同请求设置不同的响应?

android - 如何为未在 Playstore 上发布的 Android 应用程序使用 "testflight"?

android - Pandaboard GPIO banks 从内存中取消映射

android - 如何在应用程序启动时设置我所有 Activity 的 ImageView 和 TextView ,而不是在 Activity 创建时

java - 嵌入 Tomcat 日志的静态和外部路径

android - 我可以在安装 Android 应用程序之前让用户同意法律免责声明吗?

android - 如何将android应用程序与linkedin登录集成?