【发布时间】:2011-07-28 23:35:41
【问题描述】:
所以我查看了 java 7 的一些新特性,包括 try-with-resources 位。
我了解它的工作原理和一切,我只是注意到用于指定资源的语法有点奇怪。
try
(InputStream fis = new FileInputStream(source);
OutputStream fos = new FileOutputStream(target))
{
// stuff
}
}
catch (Exception e) {
// stuff
}
具体资源的定义:
try (InputStream fis = new FileInputStream(source);
OutputStream fos = new FileOutputStream(target))
在java中还有其他地方括号块中的分隔语句是有效的吗?
我唯一能想到的其他时间是 for 循环
for ( ; ; )
但这并不完全相同,因为必须正好有 2 个 ;s,并且语句用 , 分隔,如
for (int i = 1, j = 100; i <= 100, j > 0; i = i-1, j = j-1)
所以我的问题是,这个语法是从哪里来的?这些语句是; 分隔而不是, 分隔的原因吗?是否还有另一种类似的语言在 () 块内使用类似的 ; 分隔语句?我想不出 java、C 或 python 的例子。
【问题讨论】:
标签: java syntax java-7 try-with-resources