我在scala程序中读了一个import语句:
InputStreamResponseListener streamResponseListener = new InputStreamResponseListener();
request.send(streamResponseListener);
if(streamResponseListener.get(5, TimeUnit.MINUTES).getStatus() == 200) {
OutputStream outputStream = null;
try {
TMP_FILE.toFile().createNewFile();
outputStream = new FileOutputStream(TMP_FILE.toFile());
IOUtils.copy(inputStream, outputStream);
} catch(IOException e) {
this.getLogService().log(..)
} finally {
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
}
// NOT REACHED IN CASE InputStream is BLOCKED FOR SOME REASON
}
是什么
``
意思?感谢
答案 0 :(得分:6)
反引号是定义标识符的特殊形式。这在Scala规范Section § 1.1 (Identifiers)中说明:
最后,标识符也可以由任意字符串形成 后引号(主机系统可能会对其施加一些限制 哪些字符串对于标识符是合法的)。然后是标识符 由除反引号本身之外的所有字符组成。
当您需要使用保留关键字作为标识符时,可以使用此选项。在这种情况下,object
是用于在Scala中创建单例类型的保留关键字:
以下名称是保留字,而不是成员 词汇标识符的句法类id:
abstract case catch class def
do else extends false final
finally for forSome if implicit
import lazy macro match new
null object override package private
protected return sealed super this
throw trait try true type
val var while with yield
_ : = => <- <: <% >: # @
由于在保留关键字中指定了object
,我们使用反引号来解决这个问题,并允许编译器为导入赋予正确的含义。