Fal*_*rri 9 java syntax java-7 try-with-resources
所以我正在研究java 7的一些新功能,包括try-with-resources位.
我理解它是如何工作的以及一切,我只是注意到用于指定资源的语法有点奇怪.
try
(InputStream fis = new FileInputStream(source);
OutputStream fos = new FileOutputStream(target))
{
// stuff
}
}
catch (Exception e) {
// stuff
}
Run Code Online (Sandbox Code Playgroud)
具体来说就是资源的定义:
try (InputStream fis = new FileInputStream(source);
OutputStream fos = new FileOutputStream(target))
Run Code Online (Sandbox Code Playgroud)
在Java中,括号内的分隔语句是否有效,是否还有其他地方?
我能想到的另一个时间是for循环
for ( ; ; )
Run Code Online (Sandbox Code Playgroud)
但这并不完全相同,因为必须有2 ;秒,并且语句用,as中分隔
for (int i = 1, j = 100; i <= 100, j > 0; i = i-1, j = j-1)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,这种语法来自哪里?是否有理由将语句;分隔而不是,分隔?是否有另一种类似的语言;在()块内部使用了相似的分隔语句?我想不出java,C或python中的一个例子.
通常,语句以Java中的分号结束.请注意,try-with-resources与赋值不同,int i = 1, j = 100;因为它不要求每个被初始化的东西都是相同的类型.它实际上只是括在括号中的一系列赋值语句.
也就是说,如果容易理解,我认为使用某种语法确实不需要任何先例.
| 归档时间: |
|
| 查看次数: |
1720 次 |
| 最近记录: |