java - Java 中未指定的 block 有实际用途吗?

标签 java block

Possible Duplicate:
Anonymous code blocks in Java

前几天我了解到(在 SO 上)

public method() {
    someCode()
    {
        Object value = localCode();
        doSomethingWith(value);
    }
    moreCode();
}

是有效的 Java,它使 block 包含 value本地于该地区,所以 value仅存在于该 block 中。

这有什么实际用途吗?如果不是,为什么 Java 不针对这种(愚蠢的)使用 {} 发出警告?

最佳答案

我在想要重复不同场景的测试中使用它。

{
    long start = System.nanoTime();
    // do something
    long time = System.nanoTime() - start;
    // print result.
}
{
    long start = System.nanoTime();
    // do something else
    long time = System.nanoTime() - start;
    // print result.
}
{
    long start = System.nanoTime();
    // do something else again.
    long time = System.nanoTime() - start;
    // print result.
}

这允许复制代码而无需更改名称,或冒重复使用变量的风险。

关于java - Java 中未指定的 block 有实际用途吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971009/

相关文章:

swift - 下面的 Swift block 语法有什么问题?

java - 如何通过 http(rest)更改远程应用程序的 logback 日志级别?

java - "Set wallpaper"按钮功能,Android

java - 如果 char 是 2 个字节,为什么 read() 一次读取一个字节?

objective-c - 如何停止 enumerateObjectsUsingBlock Swift

linux - 阻止 apache 中的域*

Magento:从布局 xml 文件中设置ParentBlock?

java - 为图像编辑器快速、可靠地保存/加载文档状态

java - lambda 可以访问其目标功能接口(interface)的成员吗?

vim - 在文件中逐 block 更改文件类型(或其他 Vim 设置)?